gpt4 book ai didi

wpf - RoutedCommand 类构造函数的ownertype 参数有什么用?

转载 作者:行者123 更新时间:2023-12-02 03:20:57 27 4
gpt4 key购买 nike

RoatedCommand 的构造函数将“所有者类型”作为最后一个参数。其意义何在?什么时候使用?

MSDN 文档完全没有说明为什么需要它以及我是否可以对所有命令使用一种类型

引自MSDN

ownerType
Type: System.Type The type
which is registering the command.

还有一件事。从名称数组动态创建新的路由命令时应该使用什么类型。看起来任何类型都可以,所以我使用 UIElement,但如果有更适合的类型,我想知道。

最佳答案

RoatedCommand 的源代码显示该类型成为 OwnerType 属性。当获取InputGestures时,最终通过以下私有(private)方法查询该属性。因此,看起来好像该类型用于根据创建 RoutedCommand 的类型查找一组(硬编码的)命令。

private InputGestureCollection GetInputGestures()
{
if (this.OwnerType == typeof(ApplicationCommands))
{
return ApplicationCommands.LoadDefaultGestureFromResource(this._commandId);
}
if (this.OwnerType == typeof(NavigationCommands))
{
return NavigationCommands.LoadDefaultGestureFromResource(this._commandId);
}
if (this.OwnerType == typeof(MediaCommands))
{
return MediaCommands.LoadDefaultGestureFromResource(this._commandId);
}
if (this.OwnerType == typeof(ComponentCommands))
{
return ComponentCommands.LoadDefaultGestureFromResource(this._commandId);
}
return new InputGestureCollection();
}

关于wpf - RoutedCommand 类构造函数的ownertype 参数有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/930340/

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