我看到那里的大多数 WPF 功能区示例都使用一些代码,例如
xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
我收到此错误...“未找到类型 'r:RibbonCommand'。确认您没有丢失程序集引用并且所有引用的程序集都已构建。”
使用 VS 2010、.NET 4.0。
我试图弄清楚如何将按钮添加到功能区并在单击时执行代码/命令。
谢谢。
我看到那里的大多数 WPF 功能区示例都使用一些代码,例如
xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
我收到此错误...“未找到类型 'r:RibbonCommand'。确认您没有丢失程序集引用并且所有引用的程序集都已构建。”
使用 VS 2010、.NET 4.0。
我试图弄清楚如何将按钮添加到功能区并在单击时执行代码/命令。
谢谢。
如果您使用的是新的 Microsoft WPF 功能区,则 RibbonCommand 类型已被删除。Command 属性现在是 ICommand 类型。
要在 RibbonButton 上设置命令,您可以执行以下操作:
<ribbon:RibbonButton Command="ApplicationCommands.Copy" />
或使用任何实现 ICommand 的命令。
您也可以使用 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"/>
您还必须在项目本身中引用程序集。