次の標準的な手順で 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 の標準バージョンが機能しているのはなぜでしょうか。誰かがそれを説明できますか?