为什么我的隐式ContextMenu样式不会覆盖TextBox上下文菜单样式?

我从这个站点获取了ContextMenu隐式样式:

                          

然后我尝试在这里使用它,因此它应用于TextBox的默认ContextMenu和我为Button添加的ContextMenu

       Test    

样式应用于Button ,但不应用于TextBox

我觉得这应该是相当简单和简单的,为什么我的隐式样式不能应用于TextBox的默认ContextMenu ,我做错了什么?

== ==更新

我目前还不确定答案,但我认为这里的问题是使用ContextMenu设计TextBox一些缺陷,我希望有更多知识渊博的人能够证实。 使用Snoop我可以看到ContextMenu不是你期望的对象,而是一个EditorContextMenu对象,它是内部的,所以你不能设置它的样式。 他们为什么要这样用? 我不知道。

作为解决方法,我创建了一个默认的上下文菜单并使用它。 如果向TextBox添加上下文菜单,则它会正确地采用隐式样式。 既然您知道默认ContextMenu具有的项目,并且这些项目依次使用ApplicationCommands,则非常简单:

      

然后在TextBoxStyle中执行:

   

这样你的TextBox的默认ContextMenu将采用隐式样式。