2つのToggleButton
のいずれかのグループ化がいつでもオンになることがある状況を作成しようとしています。 UIの状態が更新されないバッキング変数の状態を変更した場合の問題です。WPF ToggleButton IsCheckedバインディングの問題
私はINotifyPropertyChanged
を実装しています。
私はこのような私のToggleButton
秒作成しました:
<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>
これは、(私はMVVMパターンを使用しています私のバッキング性質であるが、他のバインディングが動作し、ToggleButton
上のIEをクリックすると、これらのプロパティの設定を入力しません。私は、コードを経由して状態を変更していた場合、トグルボタンは、視覚的な状態を変更しないでください。IEは私がfalseにバッキングプロパティを設定していますが、ボタンがチェックされたままになります。
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;
}
}
あなたは私にそれを打つケント。私から上向きの矢があります。 –
うわー - 私はこのばかだとは思わない!それはたぶんあなたが座って一人でコードを書くときに起こることでしょう。ありがとう! –