c# - 如何让 ToolTip 绑定(bind)与 ComboBox 一起工作?

标签 c# wpf xaml tooltip

目前我有一个 ComboBox 定义为:

<ComboBox Name="comboItems" ItemsSource="{Binding Path=EnumDataItems}"
            DisplayMemberPath="Description" 
            ToolTip="{Binding Path=ToolTip}" // never displays the value
            SelectedValuePath="Value" SelectedValue="{Binding Path=Value}" />

除工具提示外一切正常。它应该绑定(bind)的属性; ToolTip 确实 包含一个值。我确信这一点,因为当我执行以下操作时,我看到一个结果确认 ToolTip 包含一个值:

<ComboBox Name="comboItems" ItemsSource="{Binding Path=EnumDataItems}" 
            DisplayMemberPath="ToolTip" // I replaced 'Description' with 'ToolTip'
            ToolTip="{Binding Path=ToolTip}"
            SelectedValuePath="Value" SelectedValue="{Binding Path=Value}"/>

Description 替换为 ToolTip 我可以看到屏幕上显示了 ToolTip 的值。然而

ToolTip="{Binding Path=ToolTip}"

还是不行。如果我尝试按如下方式显示工具提示:

ToolTip="ToolTip" 

它只显示“ToolTip”一词。

如何让 ToolTip 显示一个值?

最佳答案

如果每个 ComboBoxItemToolTip 是您想要的,您可以这样做:

<ComboBox.ItemContainerStyle>
    <Style>
        <Setter Property="Control.ToolTip" Value="{Binding ToolTip}" />
    </Style>
</ComboBox.ItemContainerStyle>

关于c# - 如何让 ToolTip 绑定(bind)与 ComboBox 一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11259479/

相关文章:

c# - 如何使用 DataContract 添加 XML 属性

c# - 将组合变音符号转换为简单的 utf

c# - 带有参数的服务的单例

wpf - 组合纯色画笔

c# - 锁定对象

c# - 从 SQLite 数据库文件检索一百万条记录并将其显示在 WPF 数据网格中的最快方法是什么?

.net - 从完整框架项目中引用 .NET 5.0 程序集?

c# - WPF:将 List<class> 绑定(bind)到 ComboBox

wpf - 如何在 XAML 中设置 ComboBox DataContext?

c# - CRM 2011 Silverlight 应用程序 - 无法将项目添加到 DataGridTemplateColumn 单元格内的组合框