Visual Studio 2015, .NET Framework 4.6.1., WPF, Лента.
Я пытаюсь включить «Добавить на панель быстрого доступа» для RibbonButton.
В XAML:
<RibbonButton Name="helpButton" SmallImageSource="/img/info.png" Command="Help" ToolTip="About">
<Button.CommandBindings>
<CommandBinding Command="Help" Executed="ShowVersionInfo" />
</Button.CommandBindings>
</RibbonButton>
В C #:
private void ShowVersionInfo(object sender, ExecutedRoutedEventArgs e)
{
Version version = Assembly.GetExecutingAssembly().GetName().Version;
MessageBox.Show(string.Format(" 2019 - {0}.{1}.{2}", version.Major, version.Minor, version.Build), "About");
}
После нажатия кнопки «Добавить в панель быстрого доступа» я получаю сообщение об ошибке:
Необработанное исключение типа«System.NotSupportedException» произошло в PresentationCore.dll
Дополнительная информация: Коллекция принимает только объекты типа CommandBinding.
Установка CommandBindings в C # вместо XAML дает тот же результат.Это не вызывает исключения, если я комментирую строку:
<CommandBinding Command="Help" Executed="ShowVersionInfo" />
Основное редактирование:
Единственная причина, по которой я использую команды, заключается в том, что я не могу добавитькнопки на панели быстрого доступа без команд.Я также могу добиться добавления, указав QuickAccessToolBarId, но тогда кнопки ничего не делают.