我有一个带有组合框和文本框的Silverlight页面。文本框的Text属性和组合框的SelectedValue属性都绑定到视图模型上的相同属性。组合框的ItemsSource提供有限的值选择:30,45,60,90。
在组合框中选择值后,文本框将反映新值。在文本框中输入值时,只要组合框中存在匹配值,组合框就会更改其选择以反映新值。
在文本框中输入值并且组合框中没有匹配值时,组合框上的绑定会中断并且不显示任何内容。更改组合框不再更新视图模型或文本框。
是否有关于如何使组合框和文本框绑定到同一属性的建议,即使输入到文本框中的值在组合框中并不总是具有匹配值?
答案 0 :(得分:1)
您可能需要分隔ViewModel(SelectedItem和Text)中的值。然后在SelectedItem的setter中,同样更新属性ViewModel中的Text属性。在Text属性的setter中,查看comboBox的itemsSource中是否存在该值,如果存在,则更新ViewModel中的SelectedItem。
不确定这是否适用于你的约束,但我就是这样做的。