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");
}
单击“添加到快速访问工具栏”按钮后,出现错误:
PresentationCore.dll中发生了'System.NotSupportedException'类型的未处理异常
其他信息:集合仅接受CommandBinding类型的对象。
使用C#而不是XAML设置CommandBindings可以得到相同的结果。如果我注释以下行,它不会引发异常:
<CommandBinding Command="Help" Executed="ShowVersionInfo" />
主要修改:
我使用命令的唯一原因是没有命令我无法将按钮添加到快速访问工具栏。我还可以通过指定QuickAccessToolBarId来实现添加,但是按钮什么都不做。