gpt4 book ai didi

c# - 如何在 WPF 中添加自定义路由命令?

转载 作者:IT王子 更新时间:2023-10-29 03:53:24 24 4
gpt4 key购买 nike

我有一个包含菜单和子菜单的应用程序。我已将应用程序命令附加到某些子菜单项,例如剪切、复制和粘贴。
我还有一些没有应用程序命令的其他菜单项。
如何为这些子菜单项添加自定义命令绑定(bind)?
我已经过了this文章,但无法将事件附加到我的子菜单项。

最佳答案

我使用了一个静态类,它放在 Window1 类(或任何窗口类恰好被命名的)之后,我在其中创建了 RoutedUICommand 类的实例:

public static class Command {

public static readonly RoutedUICommand DoSomething = new RoutedUICommand("Do something", "DoSomething", typeof(Window1));
public static readonly RoutedUICommand SomeOtherAction = new RoutedUICommand("Some other action", "SomeOtherAction", typeof(Window1));
public static readonly RoutedUICommand MoreDeeds = new RoutedUICommand("More deeds", "MoreDeeeds", typeof(Window1));

}

在窗口标记中添加一个命名空间,使用 Window1 类所在的命名空间:

xmlns:w="clr-namespace:NameSpaceOfTheApplication"

现在我可以像为应用程序命令一样为命令创建绑定(bind):

<Window.CommandBindings>
<CommandBinding Command="ApplicationCommands.Open" Executed="CommandBinding_Open" />
<CommandBinding Command="ApplicationCommands.Paste" Executed="CommandBinding_Paste" />
<CommandBinding Command="w:Command.DoSomething" Executed="CommandBinding_DoSomething" />
<CommandBinding Command="w:Command.SomeOtherAction" Executed="CommandBinding_SomeOtherAction" />
<CommandBinding Command="w:Command.MoreDeeds" Executed="CommandBinding_MoreDeeds" />
</Window.CommandBindings>

并在菜单中使用绑定(bind),例如:

<MenuItem Name="Menu_DoSomething" Header="Do Something" Command="w:Command.DoSomething" />

关于c# - 如何在 WPF 中添加自定义路由命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/601393/

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