Tengo una aplicación WPF simple con un menú. Necesito agregar elementos de menú dinámicamente en tiempo de ejecución. Cuando simplemente creo un nuevo elemento de menú y lo agrego a su MenuItem principal, no se muestra en el menú, independientemente de si se llama a UpdateLayout.WPF: ¿Cómo se puede agregar un nuevo elemento de menú a un menú en tiempo de ejecución?
¿Qué debe pasar para permitir que un menú tenga elementos adicionales añadidos dinámicamente en el tiempo de ejecución?
Nota: el siguiente código no funciona.
MenuItem mi = new MenuItem();
mi.Header = "Item to add";
mi.Visibility = Visibility.Visible;
//addTest is a menuitem that exists in the forms defined menu
addTest.Items.Add(mi);
addTest.UpdateLayout();
Por el momento, los elementos de menú predeterminados se definen en el archivo xaml. Quiero agregar elementos de menú adicionales a este menú y sus elementos de menú existentes. Sin embargo, como se dijo, el código anterior no hace nada.
Esto no funciona para mí, y refleja lo que he tratado. ¿Qué me estoy perdiendo? Por favor vea el texto de ejemplo que no está funcionando. –
Acabo de agregar un nuevo menú y ejecuté el código con las propiedades de control predeterminadas y funcionó como se esperaba.Probé tu código y funcionó en mi máquina. Cree un nuevo proyecto, agregue un menú básico y no ajuste ninguna de sus propiedades y pruebe su código nuevamente. – Whytespot
La clave parece ser no predefinir ningún elemento del menú. Cuando los predefiní, no pude agregarlos dinámicamente. Cuando no los predefiní, pude. –