MVVM似乎只适用于数据绑定。
如果我想调用在xaml中创建的usercontrol的函数怎么样?
例如,我制作了一个图形绘图usercontrol,其中有一个AlignTopEdge()功能,可以将所有选定的图形与顶边对齐。
我有一个名为AlignTopEdgeButton的按钮,想要将此按钮命令绑定到图形绘图用户控件的AlignTopEdge()函数。
我怎么能这样做?
感谢。
答案 0 :(得分:1)
我会在视图后面的代码中执行此操作,因为它是特定于视图的逻辑。您的ViewModel不应该知道/关心对齐UI对象,除非它以某种方式与您的应用程序的业务逻辑相关。
所以在你的情况下,我只需在代码隐藏中处理Button的Click事件,找到UserControl,然后调用myUserControl.AlignTopEdge()
答案 1 :(得分:0)
这是attached property的一个很好的用例。例如您可以拥有一个具有GraphicalControl
属性的附加属性,您可以在XAML中将其设置为用户控件的实例。
在GraphicalControl
属性的setter中,您可以分配按钮实例的Click
事件,然后调用该方法。