【发布时间】:2012-09-03 22:50:51
【问题描述】:
在使用 MVVM 模式构建 WPF 应用程序时,我对放置依赖属性的位置感到困惑。它是放在 Model 还是 ViewModel 中?
编辑
在查看了早期答案(感谢那些)之后,我发现我仍然很困惑,所以我提供更多细节来帮助有人向我解释这个问题。
我有一个名为 Station 的课程。测量员和土木工程师使用它来表示道路的长度。在大多数情况下,Station 只是一个替身,但它有一些装饰。首先,格式不同。当距离大于 100 英尺时,我们添加一个 + 符号作为另一种格式化方式。因此,在道路下方 1234.56 英尺处,我们可能会有 12+34.56 站。 (我将跳过其他装饰,因为这对我的观点来说已经足够了。)
因此,特殊格式的逻辑存在于模型中的一个类 Station 中。我希望视图中的 TextBox 接受用户输入 1234.56 并将其强制为“12+34.56”的文本值。所以我想要一个 TextBox 让用户访问模型中的一个值,所以它需要是一个依赖属性。 (这是正确的,不是吗?)但是用于强制/解析/理解如何在 TextBox 和 Station 之间来回切换的业务逻辑应该存在于 Station 类中。 (对吧?)
此外,我稍后希望让用户能够通过单击道路的图形图来设置车站值,包括在鼠标移动时动态更新值以及在发布数据点时锁定值。 (现在你明白我为什么要保持简短。)
所以这不是我想要创建一个依赖属性的东西吗,尤其是动态数据点可能会在以后涉及?如果没有,我如何使用 MVVM 将文本框项连接到工作站? (在问我的问题之前,我确实对此进行了很多研究,但没有成功。)
- 保罗
【问题讨论】:
-
相关:*.com/questions/11548952/… Rachel 的回答对你的问题很有帮助,我相信。
-
Avada Kedavra:我看过了,但它似乎没有解决我的问题,所以为了更清楚,我编辑了我的操作。
标签: c# wpf mvvm dependency-properties