首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在WPF中创建CommandBinding时出错

在WPF中创建CommandBinding时出错
EN

Stack Overflow用户
提问于 2017-05-30 13:04:58
回答 1查看 199关注 0票数 0

我想在WPF中为我的Menu做一些捷径。我用RoutedCommands创建了一个静态类,但是我无法让它工作。它说我的标记是无效的,但是我写得很好。我得到的错误是:“None+D6”键和修饰符组合不支持KeyGesture。我的RoutedCommands中任何地方都没有使用过RoutedCommands

相关XAML

代码语言:javascript
复制
Window x:Class="WorldResources.GlowingEarth"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:cmd="clr-namespace:WorldResources.View"/>
<Window.CommandBindings>
    <CommandBinding Command="cmd:RoutedCommands.NewMap" Executed="NewFile_Click" />
</Window.CommandBindings>
<DockPanel>
    <Menu DockPanel.Dock="Top">
        <Menu.ItemsPanel>
            <ItemsPanelTemplate>
                <DockPanel HorizontalAlignment="Stretch"></DockPanel>
            </ItemsPanelTemplate>
        </Menu.ItemsPanel>
        <MenuItem Header="File">
            <MenuItem Header="New">
                <MenuItem Header="_Map" Command="cmd:RoutedCommands.NewMap" />
        </MenuItem>
    </Menu>
</DockPanel>

这是我的RoutedCommands课程

代码语言:javascript
复制
static class RoutedCommands
{
    public static RoutedUICommand NewMap = new RoutedUICommand(
        "New Map",
        "NewMap",
        typeof(RoutedCommands),
        new InputGestureCollection()
        {
            new KeyGesture(Key.M & Key.A, ModifierKeys.Control & ModifierKeys.Shift)
        }
        );
}

有什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-30 13:18:52

您的KeyGesture无效。如果您想要处理CTRL+Shift +M和CTRL+Shift +A,请尝试这样做:

代码语言:javascript
复制
static class RoutedCommands
{
    public static RoutedUICommand NewMap = new RoutedUICommand(
        "New Map",
        "NewMap",
        typeof(RoutedCommands),
        new InputGestureCollection()
        {
            new KeyGesture(Key.M, ModifierKeys.Control | ModifierKeys.Shift),
            new KeyGesture(Key.A, ModifierKeys.Control | ModifierKeys.Shift)
        }
        );
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44263099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档