RibbonCommand не был найден - PullRequest
       23

RibbonCommand не был найден

5 голосов
/ 24 ноября 2010

Я вижу, что большинство примеров лент WPF там используют некоторый код, такой как

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

Я получаю эту ошибку ... "Тип 'r: RibbonCommand' не найден. Убедитесь, что вы не пропустили ссылку на сборку и что все ссылочные сборки были собраны."

Использование VS 2010, .NET 4.0.

Я пытаюсь выяснить, как добавить кнопку на ленту и выполнить код / ​​команду при ее нажатии.

Спасибо.

Ответы [ 3 ]

9 голосов
/ 03 декабря 2010

Если вы используете новую ленту Microsoft WPF, тип RibbonCommand был удален. Свойство Command теперь относится к типу ICommand.

Чтобы установить команду на RibbonButton, вы можете сделать следующее:

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

или используйте любую команду, которая реализует ICommand.

3 голосов
/ 31 августа 2011

Вы также можете использовать 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"/> 
1 голос
/ 24 ноября 2010

Вы также должны ссылаться на сборку в самом проекте.

...