2017-08-16 79 views
-1

因此,我已將DataTrigger綁定到ResourceDictionary中的TriggerButton IsChecked屬性。窗口手動最小化重寫DataTrigger中的我的WindowState setter

按下按鈕後,窗口全屏顯示。

問題是,當我手動最小化窗口時,WindowState由代碼設置爲由WPF最小化,並且它重寫了我的DataTrigger設置器,所以我無法再全屏。有什麼辦法來防止WPF覆蓋,同時留下窗口最小化功能?

回答

0

您可以在後面的代碼中使用屬性,而不是根據複選框的bool屬性更新WindowState。

例子:

public WindowState MainWindowState 
{ 
    get 
    { 
     return (IsChecked) ? WindowState.Maximized : WindowState.Normal; 
    } 
} 

private bool _isChecked; 
public bool IsChecked 
{ 
    get 
    { 
     return _isChecked; 
    } 
    set 
    { 
     _isChecked = value; 
     OnPropertyChanged("IsChecked"); 
     OnPropertyCHanged("MainWindowState"); 
    } 
} 

這是不是一個偉大的MVVM的做法,但它應該完成你想要做什麼。