【问题标题】:In which namespace is the DelegateCommand in?DelegateCommand 在哪个命名空间中?
【发布时间】:2011-03-18 07:03:05
【问题描述】:

我正在尝试从“.NET Domain Driven Design with C#”中找出一个示例,其中包含一个代码示例,您可以在其中看到声明的一些DelegateCommand 类型的属性。

现在,我尝试用谷歌搜索它,但在 MSDN 上的任何地方都找不到它的引用(实际上,我找到了 this 的文章,但没有找到 DelegateCommand 的文章本身)。

DelegateCommandWPF 的一部分还是只是在书中创建的?

如果它是 WPF(或任何其他 MS 产品)的一部分,它在哪个程序集/命名空间中?

【问题讨论】:

    标签: c# .net wpf vb.net delegatecommand


    【解决方案1】:

    如果你使用MS Prism,下载lib,添加对项目的引用,那么你就有了

    using Microsoft.Practices.Prism.Commands; // for DelegateCommand & RaisePropertyChanged
    

    【讨论】:

    • 如果要获取Prism,请确保已安装NuGet,打开包管理器控制台并输入Install-Package prism
    【解决方案2】:

    DelegateCommand(还)不是标准库 (BCL) 的一部分。

    它是 MVVM 的 WPF 命令绑定的一部分。

    在我们在 VS 中获得“官方”MVVM 模板之前,所有 MVVM 示例/工具包都会在某个地方自行定义它。并不总是同名或在同一个地方。

    【讨论】:

      【解决方案3】:

      DelegateCommandsICommand 的自定义实现。 DelegateCommand 是在 prism(复合应用程序框架)中引入的(如果我错了,请纠正我) - http://compositewpf.codeplex.com/

      您可以使用它,也可以像这里一样实现自己的 -

      https://web.archive.org/web/20101120214610/http://kentb.blogspot.com/2009/04/mvvm-infrastructure-delegatecommand.html

      【讨论】:

        【解决方案4】:

        我发现它叫RelayCommand(老实说,我认为这是原来的名字)。请看这里:

        MVVM Routed and Relay Command

        http://msdn.microsoft.com/en-us/magazine/dd419663.aspx#id0090051

        希望有帮助!

        【讨论】:

        • 来自 MSDN 文章 - “RelayCommand 是 Microsoft 复合应用程序库中的 DelegateCommand 的简化变体。”
        猜你喜欢
        • 1970-01-01
        • 2020-07-16
        • 2015-05-31
        • 2011-01-29
        • 2011-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多