2011-05-06 55 views
0

你好
WPF項目2個WPF窗戶2個窗戶和一類展()和隱藏()從類

static class Process 
{ 
    public static Window1 _Window1 = new Window1 (); 
    public static Window2 _Window2 = new Window2 (); 

    public static OpenWindow1 () 
    { 
     if (_Window2 . ShowInTaskbar) 
      _Window2 . Hide(); 

     _Window1 . Show (); 
    } 

    public static OpenWindow2 () 
    { 
     if (_Window1 . ShowInTaskbar) 
      _Window1 . Hide(); 

     _Window2 . Show (); 
    } 
} 

怎麼做,沒有線程問題&不使用調度員?

+0

讓主窗口顯示並隱藏自身和其他窗口會容易得多。 – Will 2011-05-06 17:19:41

+0

我知道,但我只舉了2個窗口的例子 我的程序包含大約6個窗口,所以我作出瞭如果你可以稱之爲女王課程,管理所有窗口顯示,隱藏和關閉它們 – 2011-05-06 17:21:51

回答

0

我不明白你的兩個陳述:我知道我必須調用分派器,然後你說你想在不使用調度器的情況下做到這一點。我會假設你只是想知道如何在沒有線程問題的情況下做到這一點。如果情況並非如此,請編輯您的問題。

public static class Process 
{ 
    public static Window _Window1 = new Window(); 
    public static Window _Window2 = new Window(); 

    public static void OpenWindow1() 
    { 
     if (_Window2.ShowInTaskbar) 
     { 
      _Window2.Dispatcher.BeginInvoke(_Window2.Hide); 
     } 

     _Window1.Show(); 
    } 

    public static void OpenWindow2() 
    { 
     if (_Window1.ShowInTaskbar) 
      _Window1.Dispatcher.BeginInvoke(_Window2.Hide); 

     _Window2.Show(); 
    } 
}