我已经定义了以下
xmlns:default="clr-namespace:dotDiff2013"
xmlns:commands="clr-namespace:dotDiff2013.Commands"
<Window.CommandBindings>
<CommandBinding Command="commands:ComparerCommands.NewComparison"
Executed="NewComparison"/>
</Window.CommandBindings>
其中的命名空间dotDiff2013.Commands
我
namespace dotDiff2013.Commands
{
public class ComparerCommands
{
static ComparerCommands()
{
InputGestureCollection inputs = new InputGestureCollection();
inputs.Add(new KeyGesture(Key.N, ModifierKeys.Control, "Ctrl+N"));
newComparison = new RoutedUICommand(
"New Document Comparison", "NewComparison", typeof(ComparerCommands), inputs);
}
private static RoutedUICommand newComparison;
public static RoutedUICommand NewComparison
{
get { return newComparison; }
}
}
}
但我收到以下错误
我在做什么错?
我是WPF的新手,这个错误让我感到困惑,因为我已经做了正确的事情。任何意见将不胜感激。
难道是关系到你在一个非静态类绑定到一个静态属性的事实呢? –
我的建议是首先确保您可以从后面的代码中进行绑定,然后尝试将其移至xaml。 CommandBinding NewComparerCommandBinding = new CommandBinding( 命令:ComparerCommands.NewComparison,NewComparisonCommandHandler,CanExecuteNewComparisonHandler); //将CommandBinding添加到根窗口。 RootWindow.CommandBindings.Add(NewComparerCommandBinding); – TYY