wpf user-controls datacontext

WPF datacontext Controles de usuario padre/hijo



user-controls (1)

Tengo una aplicación WPF que se compone de una ventana que contiene un control de usuario que, a su vez, contiene otro control de usuario hijo.

Tengo una propiedad de dependencia para un Nombre Seleccionado en mi segundo modelo de vista de control de usuario. Deseo que el control principal pueda acceder a esta propiedad y mostrar SelectedName en un bloque de texto en el control principal.

Estoy un poco atascado en cuanto a cómo hacer esto.

Parece que hay dos maneras en que podría ir (si entiendo esto correctamente) 1. Agregue un evento en el control secundario y haga que el evento burbujee hacia arriba y se administre en el padre. 2. Intente acceder a la propiedad de dependencia del hijo directamente en el enlace del bloque de texto en el control principal.

Para cualquiera de estas formas, lo que me atrapa es cómo puedo manejar el control de datos (ya sea hijo o padre) o el modelo de vista.

¿Es esto una señal de que me estoy yendo por el camino equivocado o necesito convertir el contexto de datos del control al tipo de modelo de vista en cuestión y luego usar eso? ¿O debo compartir el mismo modelo de vista en ambos controles de usuario?

Agradecería cualquier comentario sobre este enfoque: cualquier ejemplo sería realmente útil, ya que estoy descubriendo que tengo un par de instancias de este requisito de control para padres / hijos.

Gracias de nuevo por tu tiempo.


El modelo de vista utilizado para el control principal podría tener el modelo de vista del control secundario como una propiedad, de esa manera usted puede acceder directamente desde el padre.

public class ParentViewModel { public ChildViewModel child { get; set; } }

Luego, en el xaml, suponiendo que el contexto de datos se establece en el objeto ParentViewModel, podemos acceder fácilmente a las propiedades desde el ChildViewModel ...

<TextBlock Text="{Binding Path=child.SomeTextProperty}" />