我有一个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>
答案 0 :(得分:4)
您已在弹出窗口中设置了所有者属性。 在弹出窗口中,
this.owner = instanceOfParentWindow;
这也与您的问题类似。
这里他们创建了一个自定义弹出窗口 using user32.dll