我正在编写一个WPF自定义控件,其中有几个方法可以被我的控件用户调用。 虽然它可以直接调用,但由于用户要求,我希望启用控件的方法以MVVM方式调用。 经过研究,我发现必须在我的控件上实现ICommandSource。 MSDN中有一个示例,但我觉得它对我的情况来说过度工程化了(或者可能是因为我根本不理解它!)。 我只想让我的消费者通过命令调用我的方法,而不是将他们的调用代码放在视图的代码后面。 请提供一个简单的示例代码来实现这一点。谢谢。
如果您可以访问.NET代码反射(或者您可以通过下载下载.NET源代码),请查看MS在ButtonBase中的实现方式。是的,底层有很多代码,但这是因为如果您要创建自定义控件,应该考虑到RoutedEvents和Commands两种情况。