6

我看到那里的大多数 WPF 功能区示例都使用一些代码,例如

xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"

我收到此错误...“未找到类型 'r:RibbonCommand'。确认您没有丢失程序集引用并且所有引用的程序集都已构建。”

使用 VS 2010、.NET 4.0。

我试图弄清楚如何将按钮添加到功能区并在单击时执行代码/命令。

谢谢。

4

3 回答 3

9

如果您使用的是新的 Microsoft WPF 功能区,则 RibbonCommand 类型已被删除。Command 属性现在是 ICommand 类型。

要在 RibbonButton 上设置命令,您可以执行以下操作:

<ribbon:RibbonButton Command="ApplicationCommands.Copy" />

或使用任何实现 ICommand 的命令。

于 2010-12-02T21:14:57.173 回答
3

您也可以使用 ICommand 来实现您自己的命令。

这个类应该在代码后面。

public class MyCommand : ICommand
{
    public void Execute(object parameter)
    {
        string hello = parameter as string;
        MessageBox.Show(hello, "World");
    }

    public bool CanExecute(object parameter)
    {
        return true;
    }

    public event EventHandler CanExecuteChanged;
}

您需要有资源才能使用此命令。

<DockPanel.Resources>
    <local:MyCommand x:Key="mycmd"/>
</DockPanel.Resources>

您还需要修改 xaml 元素以调用此命令。

<ribbon:RibbonButton Command="{StaticResource mycmd}" CommandParameter="Hello, command" Label="Copy" LargeImageSource="Images/LargeIcon.png"/> 
于 2011-08-30T20:02:15.337 回答
2

您还必须在项目本身中引用程序集。

于 2010-11-24T14:39:55.023 回答