我正在WPF中编写自定义控件,我在控件中有几个方法可以调用我的控件的用户。
虽然可以直接调用它,但是由于用户的请求,我希望能够以MVVM方式调用控件的方法。
经过研究,我认为我必须在我的控制下实现ICommandSource。 MSDN有一个例子,但我发现它过于设计了我的情况(或者因为我根本不理解它!)。 我想要的是让我的消费者通过命令调用我的方法,而不是将他们的调用代码放在视图的代码中。
请使用简单的示例代码来实现此目的。感谢。
答案 0 :(得分:1)
在Blend SDK中是一种行为MethodInvoker(如果我的内存服务正确),它允许您绑定到方法。这样您就不必实现ICommand。
答案 1 :(得分:0)
如果您有权反映.NET代码(或者您可以通过download下载.NET源代码),请查看MS如何使用ButtonBase。是的,底层有很多代码,但那是因为如果你要创建一个自定义控件,你应该考虑RoutedEvents和Commands两种情况。