更新:この問題は.NET 4.0(私は3.5を使用していました)では修正されています。チェックボックスがユーザーと対話した後でIsCheckedバインディングを失うのはなぜですか?
同じウィンドウのコンボボックスに特定の値が設定されている場合を除いて、ユーザーが手動で設定できるようにチェックボックスを使用しようとしています。
これは、ユーザーが手動でチェックボックスをオンまたはオフにするまで、完全に機能します。その後、コンボボックスの値が変更されると、IsChecked = Trueセッターが機能しなくなります。 IsEnabled = Falseセッターは期待どおりに動作し続けます。
純粋なXamlを使用することが可能になると期待していたときに、コードビハインドでいくつかのロジックを使用する必要がありました。
これはバグか意図した動作であるかどうかは誰にも分かりません。もしそうなら、なぜですか?
<CheckBox>
Some text here
<CheckBox.Style>
<Style TargetType="{x:Type CheckBox}">
<Setter Property="IsChecked" Value="False" />
<Setter Property="IsEnabled" Value="True" />
<Style.Triggers>
<DataTrigger Binding="{Binding Path=SelectedValue, ElementName=comboBox1, Mode=OneWay}" Value="Disable Checkbox">
<Setter Property="IsChecked" Value="True" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</CheckBox.Style>
</CheckBox>
ありがとうございます。
いいえこれのためのrepro ... –