我正在尝试将一个工具提示添加到组合框的样式中(以便它适用于整个应用程序中的所有组合)。我想显示当前显示在组合框中的项目。
在某些情况下,组合框绑定到复杂实体(类),并且该类的属性被设置为显示成员,例如:
<ComboBox ItemsSource="{Binding Path=SomeDataSource}"
DisplayMemberPath="PropertyName" />
同样在某些情况下,我使用字符串列表绑定组合框,因此,我没有设置DisplayMemberPath。
有没有办法获取组合框的当前显示值?
编辑:下面提出的解决方案运行得很好,虽然我遇到了带有ItemTemplate集的组合框的问题(这些项模板中有一个带有多重绑定的TextBlock)。
具有ItemTemplate的组合框没有DisplayMemberPath,因此组合框的“Text”属性返回SelectedValue。
答案 0 :(得分:1)
试试这个:
<Style TargetType="{x:Type ComboBox}">
<Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
</Style>
当Text属性为空时,您可能需要添加转换器以显示有用的工具提示。
要将样式应用于所有组合框,请将其放入App.xaml中。