2017-08-16 62 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的做法,但它应该完成你想要做什么。