WPF自定义控件,启用调用控件方法以支持MVVM模式。

3

我正在编写一个WPF自定义控件,其中有几个方法可以被我的控件用户调用。

虽然它可以直接调用,但由于用户要求,我希望启用控件的方法以MVVM方式调用。

经过研究,我发现必须在我的控件上实现ICommandSource。

MSDN中有一个示例,但我觉得它对我的情况来说过度工程化了(或者可能是因为我根本不理解它!)。

我只想让我的消费者通过命令调用我的方法,而不是将他们的调用代码放在视图的代码后面。

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

2个回答

1
在 Blend SDK 中有一个行为 MethodInvoker(如果我没记错的话),它允许您绑定到一个方法。这样,您就不必实现 ICommand 接口。

0

如果您可以访问.NET代码反射(或者您可以通过下载下载.NET源代码),请查看MS在ButtonBase中的实现方式。是的,底层有很多代码,但这是因为如果您要创建自定义控件,应该考虑到RoutedEvents和Commands两种情况。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接