如何有一个组合框,其中下拉显示两列,而选择只显示一列
本文关键字:显示 两列 选择 一列 有一个 组合 | 更新日期: 2023-09-27 18:23:39
我会用谷歌搜索这个,但我不知道如何用词来进行搜索。我的问题很简单:我正在移植一个用Access编写的应用程序,其中一个表单上有一个组合框。当你打开下拉列表时,它会显示两列信息:左边是缩写,右边是全名。但是,当您选择一个时,组合框中的选定选项(下拉列表已关闭)仅显示缩写。知道如何在WPF中实现这一点吗?
以下是在XAML中执行此操作的不同方法。重要的部分是TextSearch.TextPath。它将搜索具有指定名称的对象。在这种情况下,它是一个名为"Foo"的字符串。
<ComboBox Name="cmbBox" ItemsSource="{Binding Test}" Height="25" IsEditable="True" IsReadOnly="True" TextSearch.TextPath="Foo">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" TextSearch.Text="{Binding Path=Bar}">
<TextBlock Text="{Binding Path=Foo}"/>
<TextBlock Text="{Binding Path=Bar}" Margin="10 0"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
要以编程方式设置文本搜索,您所要做的就是:
cmbBox.SetValue(TextSearch.TextPathProperty, "Foo");