1
我会谷歌这个,但我不知道如何用它来做一个搜索。我的问题非常简单:我正在移植使用Access编写的应用程序,并且其中一个表单是组合框。当您打开下拉菜单时,它会显示两列信息:左侧为缩写,右侧为全名。当您选择一个时,组合框中选定的选项(下拉框关闭)仅显示缩写。任何想法如何在WPF中实现这一点?如何让组合框下拉列表显示两列,但选择只显示一列?
我会谷歌这个,但我不知道如何用它来做一个搜索。我的问题非常简单:我正在移植使用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");
[不同的模板在组合框的下拉列表中的项目和所选项目]的可能重复(HTTP://计算器.com/questions/8279107/different-template-for-items-in-comboboxs-drop-down-list-and-for-selected-item) – 2012-02-05 23:31:07
啊,谢谢! – cost 2012-02-05 23:35:46
@ H.B。实际上,你是否知道在代码中执行此操作的方法,而不是xaml? – cost 2012-02-05 23:40:41