WPF中怎的使已经打开的窗体再次成为当前运行窗体
WPF中怎样使已经打开的窗体再次成为当前运行窗体?
WPF中怎样使已经打开的窗体再次成为当前运行窗体?
------解决方案--------------------
------解决方案--------------------
你应该问,“WPF判断要打开的窗口已经存在,并使其得到焦点”,从你原来的问法,我只能以为你是已经得到了已经打开的窗口对象,但是不知为何那个窗体不能正常运行,你要我帮你让这个不能运行的窗体运行起来。
方法至少有2个:
一、自定义全局字典记录打开过的窗体对象。
二、窗体定义内部设置一个静态属性,以便得到自身对象,这类似于单例模式,判断自身对象是否为空,为空则新开窗口,不为空则直接设置当前焦点,关闭时将该属性设置为空。
------解决方案--------------------
将打开的窗体存入一个list中,然后要激活时,再从list中抽取,抽取出来后再Activate。如果抽取后发现不存在或者为空(可能是某些操作关闭或者异常引起的),这时可以重新开一个新窗,同时再存进去,以备下次再激活。
WPF中怎样使已经打开的窗体再次成为当前运行窗体?
------解决方案--------------------
Window frm = Application.Current.Windows[1];
frm.Focus();
------解决方案--------------------
你应该问,“WPF判断要打开的窗口已经存在,并使其得到焦点”,从你原来的问法,我只能以为你是已经得到了已经打开的窗口对象,但是不知为何那个窗体不能正常运行,你要我帮你让这个不能运行的窗体运行起来。
方法至少有2个:
一、自定义全局字典记录打开过的窗体对象。
二、窗体定义内部设置一个静态属性,以便得到自身对象,这类似于单例模式,判断自身对象是否为空,为空则新开窗口,不为空则直接设置当前焦点,关闭时将该属性设置为空。
------解决方案--------------------
将打开的窗体存入一个list中,然后要激活时,再从list中抽取,抽取出来后再Activate。如果抽取后发现不存在或者为空(可能是某些操作关闭或者异常引起的),这时可以重新开一个新窗,同时再存进去,以备下次再激活。