编程语言
首页 > 编程语言> > c#-WPF-使用DataTemplate时通过键入选择ComboBox值

c#-WPF-使用DataTemplate时通过键入选择ComboBox值

作者:互联网

我在wpf中有一个组合框,该组合框绑定到某些属性(另一个对象).因为我需要显示该对象的两个属性,所以我在组合框内使用了DataTemplate.现在,当组合框成为焦点时,我无法通过键入几个开头字母来选择某些值(没有DataTemplate是可能的).

<ComboBox Height="23" HorizontalAlignment="Left" Margin="104,14,0,0" Name="tipDokumentaCombo" VerticalAlignment="Top" Width="241" TabIndex="0" ItemsSource="{Binding Path=TipoviDokumenta}" SelectedValue="{Binding Path=Potvrda.Tip}" SelectedValuePath="Tip" SelectionChanged="tipDokumentaCombo_SelectionChanged">
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding Path=Tip}" />
                        <TextBlock Text=" (" />
                        <TextBlock Text="{Binding Path=OpisDokumenta}" />
                        <TextBlock Text=")" />
                    </StackPanel>
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>

解决方法:

TextSearch.TextPath设置为应搜索的属性.

更新资料
由于高级解决方案似乎不适合您,请尝试为容器手动设置搜索文本:

<ComboBox.ItemContainerStyle>    
   <Style TargetType="{x:Type ComboBoxItem}">        
          <Setter Property="TextSearch.Text" Value="{Binding Tip}" />            
    </Style>
</ComboBox.ItemContainerStyle>

标签:combobox,datatemplate,wpf,c
来源: https://codeday.me/bug/20191208/2088732.html