У меня есть ComboBox и TextBox и вы хотите включить/отключить только TextBox, когда первый элемент выбран в ComboBox.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>
Это один не работает: (включить, если выбран первый элемент)
<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