Acceda a DataContext en el código subyacente
-
03-07-2019 - |
Pregunta
Cuidado, esta es una pregunta bastante básica (creo).
Tengo un UserControl, llamado MyUserControl. Lo uso en un DataTemplate para mi ListBox:
<l:MyUserControl DataContext="Test" />
Ahora quiero acceder a este DataContext en el código subyacente de MyUserControl, y espero que DataContext contenga un objeto de cadena con contenido " Prueba " ;. Sin embargo, DataContext es nulo. ¿Qué me estoy perdiendo aquí?
Solución
Si desea acceder a la propiedad DataContext en el código que se encuentra detrás, dé un nombre al control del usuario (o cualquier otro control):
en el código detrás:
myControl.DataContext = someobject;
Aunque en su ejemplo, configure el DataContext para " Prueba " no logrará nada.
Leer sobre enlace de datos en WPF http://msdn.microsoft.com/en-us/library/aa480224. aspx
Otros consejos
Necesita algún campo o propiedad en la clase de MyUserControl llamada DataContext.
Consulte aquí para obtener información sobre el usuario propiedades de control en .net.