任何使用数据绑定、触发器和命令的理由——C#和WPF

本文关键字:理由 WPF 命令 触发器 任何使 数据绑定 | 更新日期: 2023-09-27 18:29:44

好吧,记住我习惯于完全不使用这些功能。好的,我已经开始研究数据绑定和命令,而不是Click方法。

我的问题是,我一直在看代码项目和msdn的例子,对我来说,即使是简单的例子,也令人困惑,因为以下原因:

  • 我看不出数据绑定属于哪个cs类文件
  • 例如,我不明白为什么触发器应该放在once application的标记部分

然后我觉得很愚蠢,比如微软自己实现了一个第三方库来制作示例,所以它不是一个"完整"的产品。

这导致,我很难看到使用数据绑定、触发器和命令的任何好处。那么,有什么真正的好处吗?使用它的理由是什么。因为MSDN说开发人员喜欢它,我就是不明白为什么。(我想可能会得到很多反对票)

任何使用数据绑定、触发器和命令的理由——C#和WPF

当我第一次开始XAML开发时,我经常问同样的问题。

一旦我掌握了窍门,我就知道利用这个框架可以实现更清洁的设计。

数据绑定和触发器

用户界面的状态通过视图模型间接绑定到模型。这意味着,理想情况下,无论何时更新模型,UI的状态都应该自动反映模型。

此外,通过使用数据绑定和触发器,代码背后的管道数量大大减少,这通常会导致代码更干净。

代码隐藏逻辑的问题在于,它本质上是不隔离行为的UI逻辑。这意味着您的代码隐藏类不再遵守单一责任。相反,它最终成为了一个上帝阶层,并试图就自己的状态审问自己。使用数据绑定和触发器减轻了编写这种管道的需要。同样,通过使用数据绑定和触发器,无论何时更新模型,UI都应该自动反映模型。

命令

命令可能没有必要。然而,在关注点分离方面,它们似乎是一个更清洁的解决方案。此外,当使用命令时,不再需要管道背后的代码。

此外,我试图将我的视图模型视为用户界面所需的最小文档。因此,我试图设计我的视图模型,只公开我的视图需要的命令和状态(即属性),以便操作。