[问题] Winform Class NotifyPropertyChanged

楼主: ManGo1012 (ManGo)   2022-12-27 13:00:26
目前有想到一个我个人认为还算可以的解法
分享一下,如果有更好的还请不吝赐教
首先因为使用的是MVP模式
所以DataBinding这块希望都在View内搞定,不要外扩到Presenter
目前的解法是这样
假设此问题中会被覆蓋的Class于Presenter内叫做Test
现在就是将View内的Presenter实体新增PropertyChanged事件
然后当Test被set时
将那些跟其有关的Winform元件属性重新绑定
有一点要注意的是
原本元件的DataBinding.Add()会有重复绑定的问题
所以有做一个专门用于处理的Class
会把原本目标元件已有的DataBinding移除
作者: testPtt (测试)   2022-12-27 13:07:00
object被new了binding要重设
作者: sating00 (sating00)   2022-12-27 19:27:00
PropertyChanged是属性变更吧,你已经把整个物件换掉了当然不会出发原本的class的事件
作者: poewar (☺☻)   2022-12-28 18:35:00
改为bind父物件呢?例如label1.DataBind.Add("Text", this, "Test.Name", ...
作者: testPtt (测试)   2022-12-29 13:51:00
把bind写在set里面就确保每次都连到新物件了

Links booklink

Contact Us: admin [ a t ] ucptt.com