WPF怎么让一个控件关联多个对象?

比如说,我有一个类:

public static class TestData
{
    public int Number1{set;get;}
    public int Number2{set;get;}
}

有全局变量 private TestData testData=new TestData();

然后UI上有3个TextBox:tb1,tb2,tb3;

tb1.text=testData.Number1+testData.Number2;

tb1.text=testData.Number1*testData.Number2;

tb1.text=testData.Number1/testData.Number2;

每个TextBox的Text属性都和对象testData的两个属性有关

我想实现这样一个功能,testData的Number1和Number2的任一属性改变,

都能够通知UI做出相应变化

但是WPF绑定对象时只能绑定一个,所以想问问大神们有没有别的解决办法?

另外,对于再定义几个字段分别赋值number1和number2的和\积\商然后绑定
到控件的方法就算了,因为若是类似控件特别多,实际变量又只有两个,这样定义
太多变量开发效率就太低了

c#

2个回答

在set里写相关的方法可以吗?

weixin_42715850
长意知安 另一种是用multibinding ,然后针对每个控件写个converter,将多重绑定的对各变量进行处理,这个感觉好药麻烦一点,因为一个converter就是一个类,要写很多个类
5 个月之前 回复
weixin_42715850
长意知安 我后来找到了两种解决方式,一种是用触发器,针对每个控件写一个触发器,触发条件就是num1或者num2的值的改变,
5 个月之前 回复

可以新加一个属性,通过新加的属性来设置显示的值

xingyuewubian258
xingyuewubin 在你的类里再增加一个方法,num1和num2都调用此方法,当属性值修改时,调用这个方法更新结果属性
5 个月之前 回复
weixin_42715850
长意知安 这就是我说的再定义几个字段用来存要显示的值,但是我的后台数据只会对num1和num2进行操作,而num1和num2,而num1和num2的值更新时并不会通知到新定义的属性,界面也就没法同步更新,要想同步更新还得在num1或num2变化时每次都将新定义的几个属性全部赋值一边,这样一来数据绑定的意义何在?
5 个月之前 回复
weixin_42715850
长意知安 这就是我说的再定义几个字段用来存要显示的值,但是我的后台数据只会对num1和num2进行操作,而num1和num2
5 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问