【问题标题】:Custom control wpf, enabling invoking control methods to support MVVM pattern自定义控件 wpf,启用调用控件方法以支持 MVVM 模式
【发布时间】:2011-10-17 04:53:18
【问题描述】:

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

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

经过研究,我认为我必须在我的控件上实现 ICommandSource。 MSDN 有一个例子,但我发现它对我的情况来说太过分了(或者可能是因为我根本不理解它!)。 我只想让我的消费者通过命令调用我的方法,而不是将他们的调用代码放在视图代码后面。

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

【问题讨论】:

    标签: wpf mvvm


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-07
        • 2013-01-12
        • 2015-05-05
        • 1970-01-01
        • 2011-09-10
        相关资源
        最近更新 更多