未找到 RibbonCommand

发布于 2024-10-03 20:04:15 字数 310 浏览 6 评论 0原文

我看到大多数 WPF Ribbon 示例都使用一些代码,例如

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

我收到此错误...“未找到类型‘r:RibbonCommand’。请验证您没有缺少程序集引用并且所有引用的程序集均已构建。”

使用VS 2010,.NET 4.0。

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

谢谢。

I see the majority of WPF Ribbon examples out there use some code like

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

I'm getting this error..."The type 'r:RibbonCommand' was not found. Verify that you are not missing an assembly reference and that all referenced assemblies have been built."

Using VS 2010, .NET 4.0.

I'm trying to figure out how to add a button to the ribbon and execute code/command when it's clicked.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

这个俗人 2024-10-10 20:04:15

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

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

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

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

If you are using the new Microsoft WPF Ribbon, the RibbonCommand type has been removed. The Command property is now an ICommand type.

To set the command on a RibbonButton, you can do the following:

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

or use any command that implements ICommand.

谜兔 2024-10-10 20:04:15

您还可以使用 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"/> 

You also can use ICommand to implement your own command.

This class should be in code behind.

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;
}

You need to have Resources for using this command.

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

You also need to modify your xaml element to call this command.

<ribbon:RibbonButton Command="{StaticResource mycmd}" CommandParameter="Hello, command" Label="Copy" LargeImageSource="Images/LargeIcon.png"/> 
允世 2024-10-10 20:04:15

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

You also have to reference the assembly in the project itself.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文