J'essaie de créer une situation dans laquelle un ou aucun groupe de deux ToggleButton
peut être activé à tout moment. Le problème que j'ai est que si je change l'état de la variable de support, l'état de l'interface utilisateur ne se met pas à jour.Problème de liaison WPF ToggleButton IsChecked
J'ai implémenté INotifyPropertyChanged
.
J'ai créé mes ToggleButton
s comme ceci:
<ToggleButton IsChecked="{Binding Path=IsPermanentFailureState, Mode=TwoWay}"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center">
<TextBlock TextWrapping="Wrap"
TextAlignment="Center">Permanent Failure</TextBlock>
</ToggleButton>
<ToggleButton IsChecked="{Binding Path=IsTransitoryFailureState, Mode=TwoWay}"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center">
<TextBlock TextWrapping="Wrap"
TextAlignment="Center">Temporary Failure</TextBlock>
</ToggleButton>
Ceci est mes propriétés d'appui (j'utilise le modèle MVVM, les autres liaisons fonctionnent, en cliquant IE sur le ToggleButton
n'entre ces paramètres de propriété. quand je change l'état via le code, les boutons bascule ne changent pas d'état visuel. IE Je suis en train de la propriété de support à faux, mais
public bool? IsPermanentFailureState
{
get { return isPermFailure; }
set
{
if (isPermFailure != value.Value)
{
NotifyPropertyChanged("IsPermanentFailureState");
}
isPermFailure = value.Value;
if (isPermFailure) IsTransitoryFailureState = false;
}
}
public bool? IsTransitoryFailureState
{
get { return isTransitoryFailureState; }
set
{
if (isTransitoryFailureState != value.Value)
{
NotifyPropertyChanged("IsTransitoryFailureState");
}
isTransitoryFailureState = value.Value;
if (isTransitoryFailureState) IsPermanentFailureState = false;
}
}
Tu m'as battu Kent. Avoir une flèche vers le haut de moi. –
wow - Je ne suis pas censé être aussi stupide! C'est probablement ce qui arrive quand vous êtes assis et que vous codez tout le temps tout le temps. Merci! –