2017-08-16 8 views
-1

J'ai donc DataTrigger lié à la propriété TriggerButton IsChecked dans mon ResourceDictionary. Après avoir appuyé sur le bouton, la fenêtre passe en plein écran.Window manuel minimiser remplacer mon setter WindowState dans DataTrigger

Le problème est que, lorsque je minimise manuellement la fenêtre, WindowState est défini dans le code par WPF pour minimiser et écraser mon paramètre DataTrigger, donc je ne peux plus passer en plein écran. Existe-t-il un moyen d'empêcher le remplacement de WPF, tout en laissant la fonctionnalité de minimisation de fenêtre?

Répondre

0

Vous pouvez utiliser à la place une propriété dans le code qui met à jour WindowState en fonction d'une propriété booléenne de la case à cocher.

Exemple:

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"); 
    } 
} 

Ce n'est pas une bonne approche MVVM mais il doit accomplir ce que vous essayez de faire.