c# - 根据 ComboBox 设置 Tooltip

标签 c# wpf datatrigger

我想根据选定的 ComboBox 值设置文本框的工具提示

这是我的组合框:

<ComboBox x:Name="LandComboBox" >
    <ComboBoxItem Content="Test 1.2." IsSelected="True"/>
    <ComboBoxItem Content="Test 55" />
</ComboBox>

这是我的文本框:

<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>

但是没有出现工具提示。怎么了?

最佳答案

将绑定(bind)更改为 SelectedItem.Content 而不是 SelectedItem

组合框中的元素不是普通的 String “Items”。 它们的类型是 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>

关于c# - 根据 ComboBox 设置 Tooltip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33870843/

相关文章:

c# - 如何禁用 FlipView 键盘按键而不在子控件上禁用它

c# - WPF 从 DataTrigger 调用方法

c# - 为什么 XmlSerializer 这么难用?

c# - 编写分页的通用方法

c# - 哪种方式是从 Sbyte[] 转换为 Byte[] 的最佳方式

wpf - 刷 MVVM 绑定(bind)不给命名颜色

c# - 我可以通过 DataTrigger (XAML) 调用函数吗?

c# - 为什么我的更新面板会生成数百个脚本 block ?

sql - 无法使用 MVVM 模式从数据库中显示 WPF 中的表

wpf - WPF样式 setter 中的多个运行元素