【发布时间】:2022-03-12 06:01:48
【问题描述】:
我正在尝试寻找我需要调整哪些位以使 WPF 中的 ContextMenus 在它们出现/消失时停止动画。
据我所知,WPF 创建了一个 Popup 来承载 ContextMenu。 Popup 查看其 PopupAnimation 属性并决定如何制作动画。我想要做的是始终将其设置为“无”。
我尝试设置一个全局未命名样式,其 TargetType 为 Popup,将 PopupAnimation 设置为 None,但这不起作用。如果我中断 System.Windows.Controls.Primitives.Popup.SetupAnimations 我可以看到动画类型仍设置为 Fade。我猜它还没有机会应用样式..
我已尝试挂钩 ContextMenuOpening,但我无法找到其中的 Popup。
我还能尝试什么?
请注意,这是我向here 提出的另一个问题的第二部分。那里的建议非常适用于菜单和我们拥有的所有其他动画,但一个例外是 ContextMenus。它们基于代码中的属性而不是模板进行动画处理。我通过使用here 给出的建议拉出 ContextMenu 模板来验证这一点。
【问题讨论】:
标签: wpf