从View Model强制更新wpf控件

时间:2014-11-25 10:50:39

标签: wpf mvvm user-controls custom-controls

我目前正在开发一个WPF控件,它只是一个带有一些附加属性的画布,如网格线,子拖放等。

我需要一种机制来调用我的一些画布功能,从视图模型绑定到包含我的画布的视图。 例如,视图可以包含我的画布和一个按钮"显示网格"。当用户单击按钮时,画布应在其自身上绘制网格。

问题是根据MVVM模式执行此操作而不直接引用视图模型中的画布。 这样做的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

UI相关的东西仍然可以在cs文件后面查看。这并不意味着你违反了MVVM。如果视图模型用于业务逻辑,则后视图用于视图逻辑。要实现更多封装和可重用性,您可以使用Behaviors

您可以编写一个执行所有绘制逻辑并将其附加到按钮的行为。即使您可以为行为添加依赖项属性,也可以对其进行更多控制。