Normalmente, cuando desea que un control de datos se 'actualice', utiliza el evento "PropertyChanged" para indicar a la interfaz que los datos han cambiado detrás de las escenas.WPF Actualización Encuadernación cuando se vincula directamente a DataContext w/Converter
Por ejemplo, usted podría tener un bloque de texto que se une a la DataContext con una propiedad "MostrarTexto"
<TextBlock Text="{Binding Path=DisplayText}"/>
A partir de aquí, si el DataContext genera el evento PropertyChanged con PropertyName "MostrarTexto", entonces el texto de este bloque de texto debería actualizarse (suponiendo que no haya cambiado el Modo de la vinculación).
Sin embargo, tengo una encuadernación más complicada que usa muchas propiedades fuera del contexto de datos para determinar la apariencia final del control. Para lograr esto, me enlace directamente al contexto de datos y uso un convertidor. En este caso, estoy trabajando con una fuente de imagen.
<Image Source="{Binding Converter={StaticResource ImageConverter}}"/>
Como se puede ver, yo uso un {} La unión con ningún camino para unirse directamente a la DataContext, y utilizo un ImageConverter para seleccionar la imagen que estoy buscando. Pero ahora no tengo manera (que yo sepa) de decir que el enlace se actualice. Intenté subir el evento de cambio de propiedad con "." como el nombre de propiedad, que no funcionó.
¿Esto es posible? ¿Debo completar la lógica de conversión en una propiedad a la que pueda vincularse el enlace, o hay una forma de decirle al enlace que actualice (sin actualizar explícitamente el enlace)?
Cualquier ayuda sería muy apreciada. Gracias! -Adam
¡GRACIAS! Estaba enojado buscando esto y estaba a punto de preguntarlo cuando apareció en mis sugerencias – HDD