RibbonCommand was not found

前端 未结 3 1994
感动是毒
感动是毒 2021-02-10 09:42

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

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


        
相关标签:
3条回答
  • 2021-02-10 10:18

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

    0 讨论(0)
  • 2021-02-10 10:19

    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"/> 
    
    0 讨论(0)
  • 2021-02-10 10:22

    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.

    0 讨论(0)
提交回复
热议问题