近来用WPF制作做了一个IP控件的试验,IP数值通过TextBox输入(也可以定制0-254的输入),需要4个TextBox多路绑定至System.Net.IPAddress,如图前4个TextBox作为数值输入,多路绑定至IPAddress, 最后一个TextBox绑定了IPAddress,且依赖项属性IPAddressProperty 变化时会引发函数IPAddressChangedCallback,从而改变前4个TextBox。
前4个TextBox的多路绑定以TextBox为数据源,IPAddress为数据目标
后一个TextBox的绑定以IPAddress为数据源
结果如下:
1、改变前4个TextBox任意一个值都会引起最后一个TextBox的变化。
2、改变最后一个TextBox也会导致对应前4个TextBox的变化。
3、一旦改变了最后一个TextBox的数值,即更改了IPAddress,则前4个TextBox的绑定便会无效,即无法改变IPAddress。
4、在程序中主动设置IPAddress也会导致多路绑定无效,判定方法为多路绑定的转换函数不执行。
总结:多路绑定中改变数据目标后,会导致多路绑定无效。具体原因不明,请大牛指点。
代码:http://download.csdn.net/detail/chifuqi/6039159