我有一个带有网格的 WPF 主窗口,并且添加了一个 WPF 弹出窗口,以便在单击按钮时询问用户额外信息。但问题是,当其他桌面窗口移到弹出窗口上时,弹出窗口会覆盖其他桌面窗口。如何解决此问题,以便弹出窗口仅位于 WPF 主窗口的最上方,而不是其他桌面窗口。当设置为始终位于顶部时,弹出窗口的行为就像任务管理器!
如果您使用下面的代码,您将看到弹出窗口保持在顶部。因此,将任何其他桌面窗口移到弹出窗口上,弹出窗口将覆盖其他桌面应用程序!请注意,我不想使用 StaysOpen="False"。
<Grid>
<Popup Name="myPopup" Placement="Center" IsOpen="True">
<StackPanel Background="Green" >
<TextBox Width="200" Margin="0,0,10,0"/>
<Button Name="closePopupBtn" Content="close" Width="100" />
</StackPanel>
</Popup>
</Grid>
您已在弹出窗口中设置了 Owner 属性。
在您的弹出窗口中,
this.owner = instanceOfParentWindow;
这也和你的问题类似。
弹出窗口始终位于顶部 https://stackoverflow.com/questions/7606954/popup-always-stays-on-top
他们在这里创建一个自定义弹出窗口使用 user32.dll http://chriscavanagh.wordpress.com/2008/08/13/non-topmost-wpf-popup/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)