问题描述
WPF一个主窗口,一个消息窗口,当收到消息时不管主窗口、子窗口什么状态(激活、非激活、最小化、最大化等),子窗口自动弹出并置最前,同时主窗口保持不变。
解决方案
解决方案二:
用Popupwindow详见:http://www.c-sharpcorner.com/uploadfile/mahesh/wpf-popup/
解决方案三:
引用1楼的回复:
用Popupwindow详见:http://www.c-sharpcorner.com/uploadfile/mahesh/wpf-popup/
不能用这种方法,目前消息窗口已经形成,且相关功能已经完备,就差弹出窗口。消息窗口定义如下:<Windowx:Class="UC.MessagingWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
解决方案四:
Owner属性,ShowDialog()
解决方案五:
引用2楼的回复:
引用1楼的回复:用Popupwindow详见:http://www.c-sharpcorner.com/uploadfile/mahesh/wpf-popup/不能用这种方法,目前消息窗口已经形成,且相关功能已经完备,就差弹出窗口。消息窗口定义如下:<Windowx:Class="UC.MessagingWindow"xmlns="http……
做一个事情需要1,2,3步,你在不知道1,2怎么做的情况下就先把3做了,然后回过头来要求1和2需要支持3,你觉得这种做法合理吗?
解决方案六:
不是很理解,给个想法给你,当你收到消息后,去寻找要弹出的子窗口句柄,然后再设置这个子窗体为激活状态和显示模式。
解决方案七:
引用3楼的回复:
Owner属性,ShowDialog()
这样不行,消息窗口可能会多个,showdialog时主窗口也会弹出。
解决方案八:
不是很清晰理解你的问题,给你个想法,在你收到消息的时候,去寻找子窗体的句柄,然后设置子窗口为激活状态和显示模式。
解决方案:
搞定了,我把简单事情搞复杂了,谢谢各位.
解决方案:
引用8楼d6f9b的回复:
搞定了,我把简单事情搞复杂了,谢谢各位.
怎么解决的?
解决方案:
设置弹出窗体的Owner属性为主窗体,再设置ShowActivated为true,就可以了。WindowmsgBox=newWindow();msgBox.ShowInTaskbar=false;msgBox.ShowActivated=true;if(msgBox!=Application.Current.MainWindow){msgBox.Owner=Application.Current.MainWindow;}msgBox.ShowDialog();