Tengo una ventana primaria que inicia una ventana secundaria, después de cerrar alguna selección/operación en la ventana secundaria y enviar información a la ventana primaria (una clase personalizada) objeto), ¿cuál es la mejor manera de lograr esto en WPF utilizando las características proporcionadas por WPF?Ventana de comunicación entre padres e hijos en wpf
Respuesta
usted tiene muchas opciones:
- Se puede usar un evento personalizado en su ventana secundaria que la ventana padre escucha
- Se podría definir un delegado en la ventana secundaria que hace referencia a un método en el que el padre ventana
- Puede cambiar el constructor para la ventana secundaria para tomar una referencia a la ventana principal y llamar a un método en la ventana primaria usando esa referencia
- Puede usar la clase VisualTreeHelper para obtener la ventana padre y llamar a am é todo en que la referencia
Extraído de this link:
La manera más fácil que he encontrado para pasar datos desde una ventana secundaria a una ventana padre es el uso de una amplia propiedad de aplicación. Esta propiedad es un objeto, y no es la forma más elegante para pasar datos de una ventana secundaria a un elemento primario, pero es la menor cantidad de programación. La mejor forma de hacer esto es usar las propiedades de acceso get y set .
Crear una ventana principal (mainWindow) Crear una ventana secundaria (en este caso, contraseña)
En la ventana principal, la ventana secundaria se debe demostrar, por ejemplo, dentro de un botón clic. Esta ventana tendría un botón para hacer algo, en este caso , es para eliminar un registro de la base de datos.
private void btnDelete_Click(object sender, RoutedEventArgs e)
{
Password passwordentry = new Password();
passwordentry.ShowDialog();
if (Application.Current.Properties["PassGate"].ToString() == "mypassword")
{
Code, or call to delete the record;
}
Application.Current.Properties["PassGate"] = "";
}
En la ventana secundaria (contraseña), la propiedad de la aplicación es conjunto utilizando un cuadro de texto. Esta es una ventana simple que tiene un cuadro de texto llamado PasswordTextBox y un par de botones, como Aceptar y Cancelar.
private void AcceptButton_Click(object sender, RoutedEventArgs e)
{
Application.Current.Properties["PassGate"] = PasswordTextBox.Text;
this.Close();
}
- 1. Scala: cómo modelar una relación básica entre padres e hijos
- 2. Código de EF Primeras inserciones entre padres e hijos con columnas de identidad
- 3. ¿Cómo compartir la conexión MySQL entre padres e hijos con Resque?
- 4. ¿Cómo codigo un árbol de objetos en Haskell con punteros a padres e hijos?
- 5. de diálogo Winform con ventana de WPF como Padres
- 6. Entity Framework Code First Class con padres e hijos del mismo tipo que su propia clase
- 7. árbol d3 - padres que tienen los mismos hijos
- 8. Comunicación e infraestructura de prueba beta privada
- 9. Rieles 3 encontrar padres que no tienen hijos
- 10. ActiveRecord encontrar todos los padres que tienen hijos asociados
- 11. Comunicación entre componentes en javascript
- 12. Comunicación entre procesos en .NET
- 13. comunicación entre procesos en python
- 14. Comunicación entre hilos en PySide
- 15. comunicación entre subprocesos en java
- 16. Comunicación entre procesos en Lua
- 17. HTML5 - Mensaje posterior del iframe del navegador cruzado - comunicación entre padres
- 18. Comunicación entre scripts | Tres métodos
- 19. Comunicación iframe entre dominios
- 20. comunicación entre servlets remotos
- 21. Comunicación entre aplicaciones Rails
- 22. Backbone.js: comunicación entre vistas
- 23. comunicación entre programas python
- 24. C# comunicación entre hilos
- 25. Comunicación entre dos hilos
- 26. Comunicación entre varios servidores
- 27. Página contra ventana en WPF?
- 28. Recomendación de comunicación entre procesos
- 29. WPF: ¿Puede un Visual contener hijos?
- 30. comunicación entre la pestaña del navegador