gpt4 book ai didi

WPF 键手势 PageDown 在菜单项中显示为 Next

转载 作者:行者123 更新时间:2023-12-04 06:51:27 26 4
gpt4 key购买 nike

我已经设置了一个以 PageDown 作为键手势的自定义命令,但是对于绑定(bind)到该命令的 MenuItem,该手势显示为“下一步”。问题是我有使用 PageUp、Home 和 End 来执行相关任务的命令,并且它们都按预期显示为它们的 MenuItems。有没有办法让 MenuItem 显示“PageDown”而不是“Next”以保持一致性?

这是定义命令的 xaml。

<Window.Resources>
<RoutedUICommand x:Key="FirstPageCommand"
Text="FirstPage">
<RoutedUICommand.InputGestures>
<KeyGesture>Home</KeyGesture>
</RoutedUICommand.InputGestures>
</RoutedUICommand>
<RoutedUICommand x:Key="LastPageCommand"
Text="LastPage">
<RoutedUICommand.InputGestures>
<KeyGesture>End</KeyGesture>
</RoutedUICommand.InputGestures>
</RoutedUICommand>
<RoutedUICommand x:Key="PreviousPageCommand"
Text="PreviousPage">
<RoutedUICommand.InputGestures>
<KeyGesture>PageUp</KeyGesture>
</RoutedUICommand.InputGestures>
</RoutedUICommand>
<RoutedUICommand x:Key="NextPageCommand"
Text="NextPage">
<RoutedUICommand.InputGestures>
<KeyGesture>PageDown</KeyGesture>
</RoutedUICommand.InputGestures>
</RoutedUICommand>
</Window.Resources>

这是我在菜单中使用它们的地方
<MenuItem Header="_View">
<MenuItem Header="_First Page"
Command="{StaticResource FirstPageCommand}">
<MenuItem.Icon>
<Image Source="Images\Backward_01.png"
Stretch="Uniform"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="_Previous Page"
Command="{StaticResource PreviousPageCommand}">
<MenuItem.Icon>
<Image Source="Images\Backward.png"
Stretch="Uniform"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="_Next Page"
Command="{StaticResource NextPageCommand}">
<MenuItem.Icon>
<Image Source="Images\Forward.png"
Stretch="Uniform"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="_Last Page"
Command="{StaticResource LastPageCommand}">
<MenuItem.Icon>
<Image Source="Images\Forward_01.png"
Stretch="Uniform"/>
</MenuItem.Icon>
</MenuItem>
</MenuItem>

我的菜单看起来像这样
  • 查看
  • 首页
  • 最后一页上一页
  • 下一页 下一页
  • 最后一页结束
  • 最佳答案

    显然,只有在这样的代码中定义命令时才有可能。

    public class MyCommands
    {
    public static RoutedUICommand NextPage { get; private set; }
    public static RoutedUICommand PreviousPage { get; private set; }

    static OCRopingCommands()
    {
    NextPage = new RoutedUICommand("NextPage", "NextPage", typeof(MyCommands));
    NextPage.InputGestures.Add(
    new KeyGesture(Key.PageDown, ModifierKeys.None, "PageDn"));
    PreviousPage = new RoutedUICommand("PreviousPage", "PreviousPage", typeof(MyCommands));
    PreviousPage.InputGestures.Add(
    new KeyGesture(Key.PageUp, ModifierKeys.None, "PageUp"));
    }
    }

    这就是你如何将它们连接起来
    <MenuItem Header="_Previous Page" 
    Command="local:MyCommands.PreviousPage">
    <MenuItem.Icon>
    <Image Source="Images\Backward.png"
    Stretch="Uniform"/>
    </MenuItem.Icon>
    </MenuItem>
    <MenuItem Header="_Next Page"
    Command="local:MyCommands.NextPage">
    <MenuItem.Icon>
    <Image Source="Images\Forward.png"
    Stretch="Uniform"/>
    </MenuItem.Icon>
    </MenuItem>

    为什么 KeyGesture不允许您在 xaml 中设置显示名称超出了我的范围。

    关于WPF 键手势 PageDown 在菜单项中显示为 Next,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3065478/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com