Window.Activate Method
Activate Attempts to bring the window to the foreground and activates it.

解决方案 »

  1.   

    你是想这只的它置顶?TopMost=true,
      

  2.   

    你是想这只的它置顶?TopMost=true,
    是已经打开过的窗体,不是重新开一个窗体
      

  3.   

    你是想这只的它置顶?TopMost=true,
    是已经打开过的窗体,不是重新开一个窗体
    那就重新打开啊!窗体关闭的时候也就在内存中释放了!
    你怎么还想有效利用?
      

  4.   


    Window frm = Application.Current.Windows[1];
    frm.Focus();
      

  5.   

    你应该问,“WPF判断要打开的窗口已经存在,并使其得到焦点”,从你原来的问法,我只能以为你是已经得到了已经打开的窗口对象,但是不知为何那个窗体不能正常运行,你要我帮你让这个不能运行的窗体运行起来。方法至少有2个:
    一、自定义全局字典记录打开过的窗体对象。
    二、窗体定义内部设置一个静态属性,以便得到自身对象,这类似于单例模式,判断自身对象是否为空,为空则新开窗口,不为空则直接设置当前焦点,关闭时将该属性设置为空。
      

  6.   

    窗口未关闭时。
    Window.WindowState = WindowState.Normal
    Window.Activate();
      

  7.   

    将打开的窗体存入一个list中,然后要激活时,再从list中抽取,抽取出来后再Activate。如果抽取后发现不存在或者为空(可能是某些操作关闭或者异常引起的),这时可以重新开一个新窗,同时再存进去,以备下次再激活。
      

  8.   

    请问一下这个具体要怎么做?
    比方说,我建立一个List, List<Windows> existWindows = new List<windows>();
    之后我怎么去得知,我要打开的窗体是不是在List列表中呢?
    还请指教。