привязка к сложному пути - PullRequest
0 голосов
/ 16 мая 2011

Я создаю ресурс в окне xaml. Этот ресурс является контроллером, как этот

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

У меня в xaml есть элементы управления, которые я хочу связать с так называемыми «членами-компаньонами» в контроллере. Например, если у меня есть строка в контроллере, и я хочу привязать ее к длине строки

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

или что-то в этом роде.

Это кажется странным способом сделать это, но я хочу сохранить все эти элементы в контроллере, а не выделять им отдельные ресурсы, чтобы они имели доступ к определенным вещам в контроллере.

Реальная суть проблемы заключается в том, что у меня есть пара Windows, и я хочу, чтобы они использовали общий ресурс (экземпляр Controller). Поэтому я поместил статический экземпляр контроллера в контроллер. я на самом деле хочу связать как

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

Можно ли привязать к члену члена или какой подход я должен использовать вместо того, чтобы, так сказать, "составной путь в привязке"?

Спасибо, ребята! Ценю помощь

1 Ответ

3 голосов
/ 16 мая 2011

StaticInstance не является свойством вашего ресурса (который является экземпляром), поскольку он является статическим. Если вы хотите привязать к статическим элементам, вы можете использовать x:Static расширение разметки , обратите внимание, что синтаксис весьма специфичен.

Привязка, вероятно, будет выглядеть так:

{Binding Source={x:Static myns:Controller.StaticInstance}, Path=memberProperty}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...