C# 在显示两列的WPF组合框中搜索
我必须在显示WPF MVVM应用程序中两列的WPF组合框中启用搜索 下面是我的代码,它显示了两列,如:First Name-Last NameC# 在显示两列的WPF组合框中搜索,c#,wpf,mvvm,combobox,C#,Wpf,Mvvm,Combobox,我必须在显示WPF MVVM应用程序中两列的WPF组合框中启用搜索 下面是我的代码,它显示了两列,如:First Name-Last Name <ComboBox Grid.Column="3" Grid.Row="15" Height="Auto" HorizontalAlignment="Stretch" Name="cmbName" VerticalAlignment="Stretch" SelectedIte
<ComboBox Grid.Column="3" Grid.Row="15" Height="Auto" HorizontalAlignment="Stretch"
Name="cmbName" VerticalAlignment="Stretch"
SelectedItem="{Binding Name, Mode=TwoWay}"
ItemsSource="{Binding GetAllName}"
IsTextSearchEnabled="True">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock DataContext="{Binding}">
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} - {1}">
<Binding Path="FirstName" />
<Binding Path="LastName" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
我认为在这种情况下,IsTextSearchEnabled没有发挥任何作用
有什么帮助吗?你似乎有点困惑。首先,您没有在组合框中显示两列,而是显示两个字段值。。。也许你应该编辑你的标题 其次,我不认为您完全理解
IsTextSearchEnabled
属性的用法。然而,你是正确的,使用这个属性,因为你已经是一事无成。从MSDN上的页面:
获取或设置一个值,该值指示是否在ItemsControl实例上启用TextSearch
从MSDN上的页面:
此类用于将字符串分配给控件集合中的项。为集合中的每个项分配一个字符串可以实现两个目标。它指定选择项目时要显示的文本,并允许用户通过键入指定的字符串来选择项目
例如,假设组合框包含图像对象的集合,其中一个是狗的图像。如果将字符串“Dog”指定给该项,则用户可以通过在组合框的文本框中键入单词来选择狗。一旦用户输入足够的单词以将其与选择中的其他项目区分开来,就会选择狗的图像。如果组合框上的IsEdit设置为true,“Dog”将出现在文本框中
通过在控件上使用TextSearch.TextPath属性或在控件集合中的每个项上设置text属性,可以指定标识项的文本。设置这些属性之一可确保不显示意外文本。如果在控件的集合项上设置Text属性,则将忽略TextPath属性。如果将TextPath属性设置为不是实际属性名称的值,则会忽略TextPath
在这种情况下,可以使用TextSearch.TextPath
<ComboBox Grid.Column="3" Grid.Row="15" Height="Auto" HorizontalAlignment="Stretch"
Name="cmbName" VerticalAlignment="Stretch"
SelectedItem="{Binding Name, Mode=TwoWay}"
ItemsSource="{Binding GetAllName}">
<TextSearch.TextPath>FirstName</TextSearch.TextPath>
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock DataContext="{Binding}">
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} - {1}">
<Binding Path="FirstName" />
<Binding Path="LastName" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
名字
“我必须启用搜索”-您想要实现什么搜索功能?是否要根据组合框中的选择筛选ListView或其他控件中的数据?这就是我要查找的。谢谢。