2011-10-16 58 views
3

我正在WPF中编写一个自定义控件,并且我有一些控件中的用户可以调用的方法。自定义控件wpf,支持调用控件方法来支持MVVM模式

虽然它可以直接调用,由于来自用户的请求,我想启用控件的方法以MVVM方式调用。

经过研究,我认为我必须在我的控制上实现ICommandSource。 MSDN有一个例子,但我发现它对我的情况过度设计(或者因为我不了解它!)。 我只想让我的消费者通过命令调用我的方法,而不是将其调用代码放在视图的代码中。

请告诉一个简单的示例代码来实现这一点。谢谢。

回答

1

在Blend SDK中有一个行为MethodInvoker(如果我的内存服务正确),它允许您绑定到一个方法。这样你就不必实现ICommand。

0

如果您有权访问.NET代码(或者您可以通过download下载.NET源代码),请查看MS如何使用ButtonBase进行操作。是的,引擎盖下有很多代码,但这是因为如果要创建自定义控件,则应考虑RoutedEvents和Commands的两种情况。