0

在我们的 WPF 应用程序中,我们有一个主窗口和一堆打开弹出编辑/只读窗口的按钮。在主窗口中,我们还有一个 ContentControl,它在右下角提供通知。

我想要实现的是在所有 Windows 的最前面弹出这些通知。我知道我可以使用Panel.ZIndex它使其成为(主)窗口本身内的前视图元素,但我也希望它位于可能在它前面的弹出窗口之上。

有没有办法做到这一点?我知道我可以把这个带有通知的 ContentControl 放在一个单独的窗口中,而不是 MainWindow 本身,但是我不得不删除窗口的边框和栏,从底部的 Windows 任务栏和一堆其他东西中删除它使其看起来/行为与现在相同,我最好避免这样做。

那么,解决此问题的最佳方法是什么,甚至可以不将其放在单独的窗口中,并且每次出现新的通知时都会在所有其他窗口前面弹出它?

4

1 回答 1

1

不幸的是,您别无选择,因为让您ContentControl出现在其他 s 之上的唯一方法Window是将其放入自己的Window并将其TopMost属性设置为true. 实际上,Panel.ZIndex只会影响...控件的Z 索引,MainWindow您不能将其设置为显示在 parent 的级别之上Window

所以简而言之,您的解决方案是将您添加ContentControl到自定义Window并使其显示在顶部。

于 2014-12-18T08:55:13.077 回答