首页 新闻 会员 周边 捐助

wpf 对象属性绑定 文本框更新模型不响应

0
[已解决问题] 解决于 2013-09-02 16:39

场景

WPF 页面

一个Combox 控件(combox1) 一个文本框 (textbox1)

后台模型

ObservableCollection<MyObject> list ;  //绑定到Combox的ItemSource属性上
MyObject BindingObject ;  //绑定到combox 控件 的 SelectedItem 上  
注:MyObject 实现了 INotifyPropertyChanged 接口的

textbox1的Text属性绑定如下 <Textbox Name="textbox1" Text="{Binding BindingObject.StringValue}">
这样运行界面是可以看到 每次选择combox的一项时,文本框自动填充选中项的Stringvalue 值
但是有个问题 就是 当改变文本框中的值时,我认为是双项绑定,那么他应该会去更新
BindingObject.Stringvalue 的值,但是运行看断点时,并没有中断点。
问题 : 具体的原因就不清楚了。
目前的做法是 在Textbox 控件中再建立一个绑定对象(BindingObjectTextbox)。当Combox的SelectedItem 改变时,手动更新BindingObjectTextbox 的值,但是这样要是其下的属性太多,那么我需要设置的值也多,那么就需要用到多个文本框。可总不能一个文本框就增加一个属性值吧。 太烦锁了。
我认为是不是我哪里设定错了? 请解答
二十二号同学的主页 二十二号同学 | 小虾三级 | 园豆:790
提问于:2013-09-02 14:50
< >
分享
最佳答案
0

<TextBox Name="textbox1" Text="{Binding BindingObject.StringValue,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>

奖励园豆:5
nil | 小虾三级 |园豆:886 | 2013-09-02 15:01

写的一样。。 

二十二号同学 | 园豆:790 (小虾三级) | 2013-09-02 16:21

不命中。 

二十二号同学 | 园豆:790 (小虾三级) | 2013-09-02 16:21
其他回答(2)
0

Binding 的是可以设置 mode ,设置为 TwoWay

Launcher | 园豆:45050 (高人七级) | 2013-09-02 14:55

设置了, 还有那个 updatetriger 也设置了 还是没有命中断点 

支持(0) 反对(0) 二十二号同学 | 园豆:790 (小虾三级) | 2013-09-02 16:21

@天生俪姿: MyObject 的代码贴下。

支持(0) 反对(0) Launcher | 园豆:45050 (高人七级) | 2013-09-02 16:31

@Launcher: 嗯 我想到了 我一直在 BindingObject 这个属性的 Set 方法下的断点,但实际情况应该这里应该在 MyObject 代码上的Set方法下断点。 嗯 命中了~ 还是谢谢! :)

支持(0) 反对(0) 二十二号同学 | 园豆:790 (小虾三级) | 2013-09-02 16:36

@Launcher: 还是得感谢你一下~ 我把答案给了更详细一点的。 没有其他的意思 

支持(0) 反对(0) 二十二号同学 | 园豆:790 (小虾三级) | 2013-09-02 16:40
0

我自己的问题,断点下的不是地方 ,应该在 MyObject  类的 StringValue上的Set方法 下断点。

现在命中了 

二十二号同学 | 园豆:790 (小虾三级) | 2013-09-02 16:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册