我有可編輯的組合框,其中並不總是首選項在下拉列表中。可編輯ComboBox綁定到值不在列表中
我想有可能在傳播到綁定到SelectedValue的字符串的文本框中手動輸入文本。
現在,綁定到SelectedValue的字符串僅在輸入的值位於ComboBox項目中的值上時更新。
如何允許手動輸入ComboBox列表中不可用的自定義值並將其正確傳播到綁定值?
我有可編輯的組合框,其中並不總是首選項在下拉列表中。可編輯ComboBox綁定到值不在列表中
我想有可能在傳播到綁定到SelectedValue的字符串的文本框中手動輸入文本。
現在,綁定到SelectedValue的字符串僅在輸入的值位於ComboBox項目中的值上時更新。
如何允許手動輸入ComboBox列表中不可用的自定義值並將其正確傳播到綁定值?
我只是在做這個,昨天和今天,它看起來像如下:
設置組合框IsEditable="true"
而是結合SelectedItem
的,綁定到ComboBox
Text
財產如果你綁定了一個自定義對象而不是字符串,你還需要設置TextSearch.TextPath="NameOfField"
。這可以讓文本搜索行爲起作用,並且還可以在文本框中顯示該屬性。
所有的一切,我結束了類似:
<ComboBox x:Name="c"
IsEditable="True"
IsTextSearchEnabled="True"
IsTextSearchCaseSensitive="False"
StaysOpenOnEdit="True"
Text="{Binding NameOnViewModel}"
TextSearch.TextPath="NameOnChildItems"
ItemsSource="{Binding Items}"
ItemTemplate="{StaticResource DataTemplate}" />
<TextBlock Text="{Binding ElementName=c,Path=Text}" />
設置綁定到文本組合的性能就足夠了爲好。
<ComboBox IsTextSearchEnabled="True" IsEditable="True"
ItemsSource="{Binding Items}" Text="{Binding SelectedItemText, Mode=TwoWay}" />
完美找到綁定到一個字符串列表。 – 2012-05-08 09:15:21
哦,如果你不使用ItemTemplate,你可以使用DisplayMemberPath =「Name」而不是使用DataTemplate。 – 2010-11-16 23:52:00
太棒了!它也適用於數字 – Roberto 2012-08-20 13:59:43