Red de conocimiento informático - Material del sitio web - Cómo agregar controles dinámicamente a otro panel envolvente de clase

Cómo agregar controles dinámicamente a otro panel envolvente de clase

Hola, déjame responderte:

En primer lugar, debes manipular los elementos de la interfaz de usuario en el código, dejando atrás el pensamiento tradicional y adoptando MVVM.

WPF tiene capacidades de enlace de datos muy poderosas que están completamente ausentes en el marco de los antiguos dinosaurios.

Mira cómo uso la clase Comando reutilizable (que es básicamente parte de los marcos MVVM más utilizados) para representar botones en Page1ViewModel. Estas instancias del Comando luego se agregan a ObservableCollection, que a su vez notifica a WPF cuando se agrega o elimina un elemento y, por lo tanto, actualiza automáticamente la interfaz de usuario mediante Binding.

Luego, el DataTemplate definido como ItemTemplate para ItemsControl de Page1 se usa para "renderizar" cada elemento dentro de ObservableCollection.

Esta es mi referencia cuando digo que WPF requiere una mentalidad realmente diferente para trabajar. Este es el método predeterminado para todo en WPF. Casi nunca necesitará hacer referencia, crear o manipular elementos de la interfaz de usuario en el código del programa. Esto es lo que es XAML.

También tenga en cuenta que esto es probablemente mucho más simple que usar el mismo ViewModel para dos Page s, pero el propósito de separarlas es solo para mostrarle en este caso si hay diferentes ViewModels comunicándose entre sí. directamente.

Reimpreso sólo como referencia.

Si mi respuesta no te ayuda, por favor continúa preguntando.