首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF弹出窗口出现在其他桌面窗口之上,如何才能只出现在WPF主窗口的顶部?

问WPF弹出窗口出现在其他桌面窗口之上,如何才能只出现在WPF主窗口的顶部?
EN

Stack Overflow用户
提问于 2013-01-28 20:18:03
回答 2查看 7.5K关注 0票数 5

我有一个有网格的WPF主窗口,我已经添加了一个WPF弹出窗口,当一个按钮被点击时,它会要求用户提供额外的信息。但问题是,当其他桌面窗口移动到弹出窗口上时,弹出窗口会覆盖其他桌面窗口。如何修复此问题,使弹出窗口仅显示在WPF主窗口的顶部,而不是其他桌面窗口。当设置为always on top时,弹出窗口的行为就像任务管理器一样!

如果您使用下面的代码,您将看到弹出窗口位于顶部。因此,将任何其他桌面窗口移动到弹出窗口上,弹出窗口将覆盖其他桌面应用程序!注意,我不想使用StaysOpen="False“。

代码语言:javascript
复制
<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>
EN

回答 2

Stack Overflow用户

发布于 2013-01-28 21:39:40

已在弹出窗口中设置了Owner属性。在弹出窗口中,

代码语言:javascript
复制
this.owner = instanceOfParentWindow;

这也与你的问题类似。

Popup always stays on top

他们在这里创建了一个自定义的弹出式using user32.dll

票数 3
EN

Stack Overflow用户

发布于 2021-08-20 08:25:29

我知道这是一个古老的问题,我通过搜索如何解决同样的问题来解决这个问题。

最简单的方法是用工具提示控件替换弹出窗口。工具提示共享相同的基本功能,但它不像popup那样作为单独的层,因此工具提示不会出现在其他应用程序的顶部。

(Popup不是WPF定义的控件,它是一个不打算按原样使用的组件)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14561891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档