我知道它背后的重点,但在一天结束时,唯一提供的是干净的代码,我是对的吗?
问题:
要执行数据绑定,您必须在后面的代码中执行一些操作(设置依赖项属性),有时可能很清楚,有时则不然。然后你必须找出如何从你的依赖属性(你正在尝试使用的对象)访问值的地狱。然后,好吧,你花了一些时间决定你将通过ElementName或Ancestor或其他任何方式访问它(因为你必须自己找出它是如何工作的,微软的文档相当蹩脚,它不是直截了当的)。
然后,好吧,你花了一些时间,现在你的数据绑定工作正常,但事实并非如此。因为要绑定的对象的类必须实现INotifyPropertyChanged。只是。或者不是,因为您必须确保必须触发事件(OnPropertyChanged
)才能更新接口上的值...通过发送一个包含THE EFFING PROPERTY NAME的字符串作为参数。这与JSF访问价值的方式一样蹩脚(开发人员必须完全按照他们想要的方式拥有getter和setter)。另外,如果您正在分层构建软件,请忘记,您必须实现INotifyPropertyChange every-effing-where。
我写这篇是因为我想知道是否:
在有人问之前:是的,我理解这个事件“有些”意义,因为必须有办法知道对象发生了变化。但是,每次我在界面中做任何事情时,我都没有看到使用它或仅调用Update
方法的差异。我希望你们不要因为发布这个而感到愚蠢...我是一个非常新的程序员(毕业开始3年,工作经验2年),但缺乏更好的方法其中的东西看起来并不像,例如,微软的ASP.NET MVC,它只是神奇地运作。我并不是要求一切都变得简单,只是要求更好的文档,而且,我不知道,更容易(通过更容易,我意味着更直接)的方式来做你应该做的事情。使用框架,被认为是优雅的东西。
答案 0 :(得分:2)
答案 1 :(得分:2)
我喜欢乌龟。我也喜欢数据绑定。我建议阅读MVVM模式......它使用数据绑定,使您可以轻松地运行单元测试并保持代码井井有条。请务必查看MVVM中如何使用“DataContext”属性。
P.S。我不认为在OnNotifyProperty中使用effing属性的名称是蹩脚的。如果不添加依赖关系或不必要的复杂性,您还会使用什么?
P.P.S。清洁代码是一个非常大的交易。