當使用數據模板選擇器時,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