unión a ruta compuesta

Estoy creando un recurso en la ventana xaml. Ese recurso es un controlador, como este

<Window.Resources>
  <ext:Controller x:Key="Controller"/>
</Window.Resource>

Tengo controles en mi xaml que quiero vincular a "miembros compuestos" en el controlador, por así decirlo. Como si tuviera una cadena en el controlador y quisiera unirme a la longitud de esa cadena

<TextBlock Text="{Binding Source={StaticResource Controller},Path=myString.Length}"/>

o algo así.

Parece una forma extraña de hacerlo, pero quiero mantener a todos esos miembros en el controlador en lugar de convertirlos en recursos separados, para que tengan acceso a ciertas cosas en el controlador.

La verdadera esencia del problema es que tengo un par de Windows y quiero que compartan el recurso común (una instancia de Controller). Así que puse un instnace estático de controlador en controlador. realmente quiero unir como

<TextBlock Text="{Binding Source={StaticResource Controller},Path=StaticInstance.memberProperty/>

¿Es posible enlazar a un miembro de un miembro o qué enfoque debería usar en lugar de querer la "ruta compuesta en el enlace", por así decirlo?

¡Gracias chicos! Agradezco la ayuda

preguntado el 16 de mayo de 11 a las 17:05

1 Respuestas

StaticInstance no es una propiedad de su recurso (que es una instancia) ya que es estático. Si desea enlazar a miembros estáticos, puede usar el x:Static extensión de marcado, tenga en cuenta que la sintaxis es bastante específica.

El enlace probablemente se vería así:

{Binding Source={x:Static myns:Controller.StaticInstance}, Path=memberProperty}

contestado el 16 de mayo de 11 a las 23:05

Sí, eso es exactamente lo que quería x: Estático - eso es lo que me estaba perdiendo. ¡Gracias! - N romaai

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.