我通过以下标准过程检索 MenuItem 的 ControlTemplate:
var resource = FindResource(new ComponentResourceKey(typeof(MenuItem), "TopLevelHeaderTemplateKey"));
var settings = new XmlWriterSettings() { Indent = true };
var sb = new StringBuilder();
var writer = XmlWriter.Create(sb, settings);
XamlWriter.Save(resource, writer);
MyTextBox.Text = sb.ToString();
我想知道,为什么我总是在 ControlTemplate 的深处得到:
<Popup IsOpen="False" ...
当工作版本是:
<Popup IsOpen="{TemplateBinding IsSubmenuOpen}" ...
通过 Reflector ILSpy 找不到任何硬编码问题。那么为什么标准版本的 MenuItem 正在工作呢?有人可以解释一下吗?