我已經定義了以下
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