当使用数据模板选择器时,WPF组合框有问题。使用数据模板选择器时WPF组合框键索引不工作
基本上,WPF组合框具有标准行为,如果使用键盘键入该字符,它将直接将您带到从字符开始的项目。我不知道这个功能的官方名称,会暂时称它为“Key Indexing”。
我现在想创建一个ComboBox,以不同的方式显示它的项目。我使用DataTemplateSelector实现了这一点;
<ComboBox SelectedItem="{Binding Selection}" x:Name="Input" ItemsSource="{Binding Parties}">
<ComboBox.ItemTemplateSelector>
<Editor:PartyTemplateSelector DefaultTemplate="{StaticResource Default}" NewTemplate="{StaticResource New}" OldTemplate="{StaticResource Old}"/>
</ComboBox.ItemTemplateSelector>
</ComboBox>
而且PartyTemplateSelector是:
public class PartyTemplateSelector : DataTemplateSelector
{
public DataTemplate DefaultTemplate
{
get; set;
}
public DataTemplate NewTemplate
{
get; set;
}
public DataTemplate OldTemplate
{
get; set;
}
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
var party = (Party) item;
if (party is OldDisplay)
{
return OldTemplate;
}
if(counterparty.NewLook)
{
return NewTemplate;
}
return DefaultTemplate;
}
}
它工作正常,除了那个关键索引能力丧失。当组合框下拉时键入一个键时,它不会将我带到从我键入的字符开始的项目。
任何人都可以帮助我吗?
问候。
嗨,谢谢你的回复。该值的默认值为true,不需要明确设置。我试过了,但并没有解决问题。 :(非常感谢。 – Kevin 2010-09-21 13:04:05