C# 用户控件始终位于顶部(最顶端,XAML/WPF)

C# 用户控件始终位于顶部(最顶端,XAML/WPF),c#,.net,wpf,xaml,system-tray,C#,.net,Wpf,Xaml,System Tray,我在用电话。它能够使用WPF用户控件作为托盘图标中的弹出窗口。它工作得很好,但在一种情况下,我有另一个应用程序的弹出窗口,显示在我的弹出窗口顶部。我希望我的弹出窗口总是在顶部 那能做到吗?那么会影响UserControl的z顺序吗 编辑-对评论的反应: 我意识到我的问题看起来很愚蠢,因为另一个应用程序发现他的信息同样重要,并且认为他应该在上面。就我而言,情况并非如此。我正在连接到外部应用程序。该应用程序的目的是从外部设备加载数据。当该应用程序完成时,会在弹出窗口中显示“加载完成”。然后我的应用程

我在用电话。它能够使用WPF用户控件作为托盘图标中的弹出窗口。它工作得很好,但在一种情况下,我有另一个应用程序的弹出窗口,显示在我的弹出窗口顶部。我希望我的弹出窗口总是在顶部

那能做到吗?那么会影响UserControl的z顺序吗

编辑-对评论的反应: 我意识到我的问题看起来很愚蠢,因为另一个应用程序发现他的信息同样重要,并且认为他应该在上面。就我而言,情况并非如此。我正在连接到外部应用程序。该应用程序的目的是从外部设备加载数据。当该应用程序完成时,会在弹出窗口中显示“加载完成”。然后我的应用程序处理数据。当我的应用程序完成处理(几乎立即)时,它会显示一个框:“完成处理,单击此处显示数据”。 因此:在我的特定情况下,弹出窗口中的信息对用户更有用,因为它包含一个他必须单击的按钮。两个弹出窗口“谈论”相同的数据。
我知道这可能会引起更多的评论,比如:“为什么要使用弹出窗口?”。请专注于问题的答案,而不是其他解决方案。

好吧,没有这样的
使MythingSuperTopMOST()
东西,你应该知道原因。

你可以尝试使另一个弹出窗口“不是最上面的”,然后显示你的弹出窗口。您必须使用EnumWindows api func枚举所有打开的窗口,然后使用SetWindowsPos删除其最顶层状态,从而找到另一个弹出窗口。但这绝对是一个肮脏而脆弱的把戏(如果你能让它发挥作用的话)


http://pinvoke.net/default.aspx/user32/SetWindowPos.html

每个开发人员都确信他们的弹出窗口是最重要的=)当其他应用程序使用相同的方法来控制您的弹出窗口时会发生什么?谢谢您的评论。我已经编辑了我的帖子,澄清了我的处境。我并不是在要求最好的。我要的是最上面的。这只是为了处理一个非常特殊的情况,正好有一个其他的应用程序。