我有一個組合框在WPF中使用以下數據模板。在論壇的幫助下,我能夠得到這個顯示和行爲正確。WPF組合框使用快捷鍵來選擇項目
當下拉打開時,我希望用戶能夠鍵入一個字母並讓下拉菜單跳到該選擇。我已經看到這實現了兩種方式,一種方式是在組合框中的文本框中基本捕獲鍵盤輸入,並根據用戶輸入的內容進行選擇。這允許用戶等待並輸入更多的文字,以增加標準。另一個是鍵盤輸入似乎沒有被捕獲到的地方,如果你鍵入一個字母,等待幾秒鐘,然後輸入另一個字母,它將把你帶到選擇的第二個字母開頭。如果您想輸入搜索條件的多個字母,則必須快速輸入。
我對任何一種方法都很滿意。他們只能選擇一個項目,雖然它在列表中,所以我不太喜歡在組合框上放置編輯控件的想法,他們可以在其中輸入任何他們想要的內容。我可以做到這一點,並驗證他們的輸入,但寧願強迫他們選擇列表中的東西。
在這種情況下,它是一個系統顏色的列表,其中超過140個,所以有一種方法可以快速繞過列表是我需要的。
這是我使用的數據模板。
<DataTemplate x:Key="ColorSelectionComboBox" DataType="ComboBox">
<StackPanel Orientation="Horizontal">
<Rectangle Width="16" Height="16" Margin="0,2,4,2">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Color}"/>
</Rectangle.Fill>
</Rectangle>
<TextBlock Text="{Binding Name}"/>
</StackPanel>
</DataTemplate>
任何想法表示讚賞。
是否需要類似自動填充框的東西,並在下拉列表中列出建議? http://wpfactb.codeplex.com/ –
是的,那太棒了。 – WPFNewbie