我一直试图让自定义命令工作很长一段时间。网上和这里有大量的资源,而且看起来很简单。唯一的问题是,我的IDE不断吐出这个错误,我不知道为什么,考虑到我(我相信)完全遵循指南。
我的C#代码(在单个.cs文件中):
namespace ESPUI
{
public partial class MainWindow : Window
{
// MainWindow code here
}
public static class CustomCommands
{
public static readonly RoutedUICommand Exit = new RoutedUICommand
(
"Exit",
"Exit",
typeof(CustomCommands),
new InputGestureCollection()
{
new KeyGesture(Key.F4, ModifierKeys.Alt)
}
);
}
}
我的XAML顶部:
<Window x:Class="ESPUI.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:w="clr-namespace:ESPUI"
Title="ESP" Height="480" Width="640" MinHeight="480" MinWidth="640">
我的命令绑定:
<Window.CommandBindings>
<CommandBinding Command="w:CustomCommands.Exit" />
</Window.CommandBindings>
我的MenuItem:
<MenuItem Header="Exit" Command="w:CustomCommands.Exit" />
我的XAML第5行(xmlns:w="clr-namespace:ESPUI"
行)出现错误,窗口预览不会加载到设计器中。
我检查了东西,仔细检查了东西,并检查了三件事。我无法找到问题,这让我发疯。我甚至重新启动了我的IDE以查看它是否只是一些错误,但仍然没有快乐。
奇怪的是我得到了&#34; Alt + F4&#34;在我窗口的MenuItem中。