wpf 问个usercontrol值耦合怎么处理

qq14923349 2017-03-22 07:48:45
举个例子:做一个温度计控件,然后温度计用rectangle,计算方式是 实际值*100/height,height是rectangle的属性,但是实际值在主界面上的一个textbox里,通过绑定来控制温度计的值
问题1 如果textbox直接绑定rectangle的height,计算公式哪里处理?用converter吗,因为一个在界面一个是自定义控件的值绑定,是否会耦合?

问题2 如果在温度计控件里面添加一个依赖属性,然后主界面的textbox绑定到该依赖属性上,这样是否解除耦合,有没有部分代码可以给我看一下?
...全文
290 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
首先我觉得你的理解有误区。你觉得TextBox在主界面,矩形在自定义界面,这两个不应该做绑定,没有这样的说法。你想想TextBox应该是和你的自定义控件同在主界面,而他们两个之间需要一个绑定。你之所以觉得有耦合其实就是因为中间多了一个矩形,所以你才想用第二种方法将矩形从这个绑定中去掉。其实完全没必要,因为矩形的长度也可以是看做自定义控件的一部分,你重新定义一个依赖属性依然还是要用矩形的高度参与。其实你这个例子中对于TextBox而言,需要自定义控件提供一个可用于绑定的属性,至于怎么给TextBox不关心;而对于自定义控件,只需要给出一个属性即可,至于别人怎么用,它不关心。这样就没有相互之间的交叉,也不存在你说的那种“耦合”。
  • 打赏
  • 举报
回复
写个依赖属性。你先解释一下什么是值耦合,我不懂。

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧