Я создал несколько элементов MenuItem (не в XAML), поэтому я добавил их в родительский элемент:
( Parent_Menu as MenuItem ).Items.Add( Menu_Item );
Затем я применил свои стили по списку VisualTree (в цикле). Но стили не будут применяться к новым элементам MenuItems. Вот мой стиль применения кода:
else if ( Visual is MenuItem )
{
MenuItem menuItem = Visual as MenuItem;
menuItem.Style = D_Interface.Style_Menu;
}
Родительские пункты меню получили стили, но не новые пункты подменю. Поэтому я только что проверил с помощью отладчика, какие элементы связаны с родительскими элементами с помощью визуального дерева, и я не могу найти новые подэлементы в родительских элементах. Я предполагаю, что они не связаны с родителем также в логическом дереве.
Я проверил, где находятся новые подэлементы в глобальном визуальном\логическом дереве, как я понял из отладчика, что они не связаны ни с одним родителем ни в визуальном дереве, ни в логическом дереве, ни даже с самим окном.
Мой вывод состоит в том, что они связаны с родительским MenuItem только списком «Элементы» ... Это не то же самое, что MenuItems автоматически являются дочерними элементами родительского элемента управления Menu.
Кто-нибудь знает, как сделать динамически создаваемые элементы меню дочерними элементами родительского элемента в визуальном дереве?