我有可编辑的组合框,其中首选项目并不总是位于下拉列表中。
我希望能够在文本框中手动输入文本,该文本将传播到绑定到 SelectedValue 的字符串。
现在,仅当输入的值位于 ComboBox 项中的值中时,绑定到 SelectedValue 的字符串才会更新。
如何允许手动输入 ComboBox 列表中不可用的自定义值并将其正确传播到绑定值?
我昨天和今天刚刚这样做,看起来如下:
设置组合框IsEditable="true"
而不是绑定到SelectedItem
,绑定到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}" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)