首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

WPF,请看下这个数据绑定,该怎么解决

2013-11-13 
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内容会跟着变。


[解决办法]
引用:
Quote: 引用:

SelectedItem默认是双向绑定吗?我目前只知道TextBox的Text属性和CheckBox的IsChecked属性是双向的,请问还有哪些是默认双向的呢?请举几个例子


这个也是根据情况来的。
一般允许修改的属性都是默认双向绑定的,比如你提到的textbox.
如果只读的话,那默认就是单向绑定的,比如TextBlcok.

热点排行