2016-02-15 79 views
-1

我在WPF應用程序的工作,我想處理windowStateChanged事件。 我做了這樣的如何檢查一個窗口最大化或帶回前臺

if (((Window)sender).WindowState == WindowState.Maximized) 
{} 
else if (((Window)sender).WindowState == WindowState.Normal) 
{} 

但每當我最小化的窗口,然後將其最大化,它來到這個(WindowState.Normal)條件。我只希望它在我點擊最小化按鈕時出現這種情況。任何方案?

+2

的可能的複製[如何觸發以最大化C#所關聯的事件(HTTP:/ /stackoverflow.com/questions/5885025/how-to-trigger-the-event-associated-with-maximize-in-c-sharp) – MethodMan

+0

如果你做一個簡單的谷歌搜索,你會找到一個例子這個問題已經被問過更不用說其他許多人了 – MethodMan

回答

0

你MainWindow類可能會覆蓋OnPropertyChanged方法來訪問以前和WindowState屬性的當前值:

protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) 
{ 
    base.OnPropertyChanged(e); 

    if (e.Property == Window.WindowStateProperty) 
    { 
     var oldState = (WindowState)e.OldValue; 
     var newState = (WindowState)e.NewValue; 

     Debug.WriteLine("{0} -> {1}", oldState, newState); 
    } 
}