2010-12-01 268 views
1

我正在使用WPF NotifyIcon from Philipp Sumi。它能够在托盘图标中弹出使用WPF UserControl。它的工作原理非常好,但是在另一种情况下,我弹出另一个应用程序的弹出窗口。我希望我的弹出窗口始终位于顶部。UserControl始终位于顶部(最顶端,XAML/WPF)

可以这样做吗?所以可以影响UserControl的z顺序?

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

+1

每个开发人员相信,他们的弹出是最importatnt =) – 2010-12-01 10:58:13

+5

当其他应用程序使用同样的方法,会发生什么在弹出窗口顶部? – TheFogger 2010-12-01 12:21:57

回答

1

好吧,没有这样的东西,你应该为read here为什么。

1

你可以尝试使另一个弹出“不最高”,然后显示您的弹出。您必须通过枚举所有打开的窗口,然后使用EnumWindows api func来查找其他弹出窗口,然后使用SetWindowsPos删除其最高状态。但这绝对是一个肮脏而脆弱的诡计(如果你能使它工作的话)。

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

相关问题