如何实现MVVM进行函数调用?

时间:2012-02-02 08:21:52

标签: function mvvm call

MVVM似乎只适用于数据绑定。

如果我想调用在xaml中创建的usercontrol的函数怎么样?

例如,我制作了一个图形绘图usercontrol,其中有一个AlignTopEdge()功能,可以将所有选定的图形与顶边对齐。

我有一个名为AlignTopEdgeButton的按钮,想要将此按钮命令绑定到图形绘图用户控件的AlignTopEdge()函数。

我怎么能这样做?

感谢。

2 个答案:

答案 0 :(得分:1)

我会在视图后面的代码中执行此操作,因为它是特定于视图的逻辑。您的ViewModel不应该知道/关心对齐UI对象,除非它以某种方式与您的应用程序的业务逻辑相关。

所以在你的情况下,我只需在代码隐藏中处理Button的Click事件,找到UserControl,然后调用myUserControl.AlignTopEdge()

答案 1 :(得分:0)

这是attached property的一个很好的用例。例如您可以拥有一个具有GraphicalControl属性的附加属性,您可以在XAML中将其设置为用户控件的实例。

GraphicalControl属性的setter中,您可以分配按钮实例的Click事件,然后调用该方法。