【发布时间】:2015-06-15 15:57:51
【问题描述】:
我的 WPF 窗口存在一些非常令人沮丧的问题。我想要的设计是:
当用户最小化窗口时,它将最小化为系统托盘图标(隐藏开始栏上的窗口和图标)。当用户右键单击图标时,将显示一个带有选项的上下文菜单,其中一个会说打开,这将打开应用程序(再次显示窗口/再次取消隐藏窗口)。用户也可以双击该图标。
很简单吧?
我没有问题最小化到任务栏,我只是在窗口的关闭事件上执行以下操作:
e.Cancel = true;
this.Visibility = Visibility.Collapsed;
但是,我在正确恢复窗口时遇到了问题。我只是在上下文菜单单击或图标双击事件上执行此操作:
this.Visibility = Visibility.Visible;
this.Activate();
问题是窗口再次出现在带有图标的开始栏上,但它位于用户打开的每个窗口的后面。我想要它,所以当用户打开窗口时,它将是最顶部的窗口。我并不总是希望它成为最上面的,只是当他们想让它再次可见时。
我尝试了很多方法,例如将窗口上的 show activate 设置为 true,在使其可见后等待一秒钟然后激活窗口,多次激活窗口(工作了几次,但可能是 10 次尝试中的 1 次) 等。
我不认为显示/隐藏窗口应该如此烦人,而且我不确定自己做错了什么。
感谢您的帮助,谢谢。
【问题讨论】:
标签: c# wpf wpf-controls visibility show-hide