1
私はComboBoxとTextBoxを持っていて、ComboBoxで最初の項目が選択されているときにTextBoxのみを有効/無効にしたいとします。Understandig DataTrigger
このコードは動作します(最初の項目が選択されている場合無効)
<ComboBox SelectedIndex="{Binding Mode}">
<ComboBoxItem>Mode 1</ComboBoxItem>
<ComboBoxItem>Mode 2</ComboBoxItem>
<ComboBoxItem>Mode 3</ComboBoxItem>
</ComboBox>
<TextBox Text="{Binding ValueNotForMode1}">
<TextBox.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding ="{Binding Mode}" Value="0">
<Setter Property="TextBox.IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
この1つは動作しません。(最初の項目が選択されている場合に有効)
<ComboBox SelectedIndex="{Binding Mode}">
<ComboBoxItem>Mode 1</ComboBoxItem>
<ComboBoxItem>Mode 2</ComboBoxItem>
<ComboBoxItem>Mode 3</ComboBoxItem>
</ComboBox>
<TextBox IsEnabled="False" Text="{Binding ValueForMode1}">
<TextBox.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding ="{Binding Mode}" Value="0">
<Setter Property="TextBox.IsEnabled" Value="True"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
はそれができませんDataTrigger経由でコントロールを有効にするには?
または、トリガーが発生していないときに、どのように制御するのか、どのようにすればいいのかを教えてください。
ありがとうございます。 最初のケースでこれがなぜ必要でないのか知っていますか? Trueはデフォルト値だからだと思います。 – MTR
はい、それが理由です。 – LPL