use*_*971 3 c# wpf combobox mvvm
我必须在WPF组合框中启用搜索,该组合框显示了WPF MVVM应用程序中的两列。
下面是我的代码,其中显示了两列,例如:名字-姓氏
<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>
Run Code Online (Sandbox Code Playgroud)
我认为在这种情况下,IsTextSearchEnabled没有发挥任何作用。
有什么帮助吗?
在这种情况下,您可以使用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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4878 次 |
| 最近记录: |