WPF,请看下这个数据绑定,该怎么解决
WPF,请看下这个数据绑定上面代码中个,listbox绑定到Person类的list属性,正常显示了数据。不过,SelectedItem
WPF,请看下这个数据绑定
上面代码中个,listbox绑定到Person类的list属性,正常显示了数据。不过,SelectedItem是绑定到Person类的SelectString属性上的,TextBox又是绑定到SelectedItem的。SelectString属性一直都是空字符串,绑定类型也是单向绑定,
所以,SelectedItem也应该一直是空字符串吧,所以,就应该一直没有选中项的吧,为什么TextBox却显示了的呢?
[解决办法]如果没有匹配的值,那么SelectItem不会改变选中项目。
[解决办法]SelectedItem绑定了SelectString, 默认的是双向绑定。你可以通过改变SelecteString来改变ListBox中的SelectedItem(但你这里要重新打开才能看到,因为你没有继承Inotifypropertychaged接口),也可以通过点击ListBox中的选项来更新SelecteString. 所以,并不是说你设置好SelecteString后,就没有办法在ListBox中点击选项了。
理解了上面一点,你的textbox绑定到SelectedItem就没什么问题了,selectedItem改变后,textbox内容会跟着变。
[解决办法]这个也是根据情况来的。
一般允许修改的属性都是默认双向绑定的,比如你提到的textbox.
如果只读的话,那默认就是单向绑定的,比如TextBlcok.