Установить подсказку в зависимости от ComboBox
Я хочу установить всплывающую подсказку для моего текстового поля в зависимости от выбранного значения ComboBox
Это мой ComboBox:
<ComboBox x:Name="LandComboBox" >
<ComboBoxItem Content="Test 1.2." IsSelected="True"/>
<ComboBoxItem Content="Test 55" />
</ComboBox>
И это мой TextBox:
<TextBox x:Name="LandTextBox" >
<TextBox.Style>
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=LandComboBox, Path=SelectedItem}" Value="Test 1.2.">
<Setter Property="ToolTip" Value="Hello 1.2." />
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=LandComboBox, Path=SelectedItem}" Value="Test 55">
<Setter Property="ToolTip" Value="Hello 55" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
Но подсказка не появляется. В чем дело?
3 ответа
Решение
Изменить привязку на SelectedItem.Content
вместо SelectedItem
,
Элементы в выпадающем списке не простые String
"Предметы". Они типа ComboBoxItem
<DataTrigger Binding="{Binding ElementName=LandComboBox, Path=SelectedItem.Content}" Value="Test 1.2.">
<Setter Property="ToolTip" Value="Hello 1.2." />
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=LandComboBox, Path=SelectedItem.Content}" Value="Test 55">
<Setter Property="ToolTip" Value="Hello 55" />
</DataTrigger>
Попробуйте использовать: Path = SelectedItem.Content
<TextBox x:Name="LandTextBox" >
<TextBox.Style>
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=LandComboBox, Path=SelectedItem.Content}" Value="Test 1.2.">
<Setter Property="ToolTip" Value="Hello 1.2." />
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=LandComboBox, Path=SelectedItem.Content}" Value="Test 55">
<Setter Property="ToolTip" Value="Hello 55" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
Просто используйте SelectionBoxItem
вместо SelectedItem
и вы не можете использовать Value="{Binding ElementName=LandComboBox, Path=SelectionBoxItem}"
также для показа динамически всплывающей подсказки