首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >类库无法识别CommandManager类

类库无法识别CommandManager类
EN

Stack Overflow用户
提问于 2013-06-06 06:14:46
回答 1查看 12.5K关注 0票数 24

我正在开发WPF应用程序,我想重用在所有这些应用程序中都相同的类,这样我就可以将它们添加为引用。

在我的例子中,我有一个用于命令的类:

代码语言:javascript
复制
public class RelayCommand : ICommand
{
    #region Fields

    readonly Action<object> _execute;
    readonly Predicate<object> _canExecute;

    #endregion // Fields

    #region Constructors

    public RelayCommand(Action<object> execute)
        : this(execute, null)
    {

    }

    public RelayCommand(Action<object> execute, Predicate<object> canExecute)
    {
        if (execute == null)
            throw new ArgumentNullException("execute");

        _execute = execute;
        _canExecute = canExecute;
    }
    #endregion // Constructors

    #region ICommand Members

    public bool CanExecute(object parameter)
    {
        return _canExecute == null ? true : _canExecute(parameter);
    }

    public event EventHandler CanExecuteChanged
    {
        add { CommandManager.RequerySuggested += value; }
        remove { CommandManager.RequerySuggested -= value; }
    }

    public void Execute(object parameter)
    {
        _execute(parameter);
    }

    #endregion // ICommand Members
}

这在我的应用程序中工作得很好,但当我想创建一个类库时,我只想将其添加到项目中作为引用,visual studio无法构建,因为"CommandManager不存在于当前上下文中。在我的使用中,我有以下几点(这应该足够了)

代码语言:javascript
复制
 using System;
 using System.Windows.Input;

你知道为什么我不能在“类库项目”中这样做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-06 07:11:43

转到类库的“引用”部分并选择“添加引用”。查找名为"PresentationCore“的程序集并添加它。

然后在类文件中添加using语句using System.Windows.Input;

然后,您将能够像预期的那样访问CommandManager。

添加:很多人在创建类库时,选择了"WPF自定义控件库“,然后删除了"Class1.cs”文件。这是一个快捷方式,可以自动将正确的名称空间添加到库中。捷径是好是坏由任何人决定,但我一直在用它。

票数 56
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16950813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档