Использовать StaticResource в корневом элементе XAML - PullRequest
11 голосов
/ 03 марта 2010

Я хочу использовать StaticResource в корневом элементе документа xaml. Но MSDN говорит:

Статические ссылки на ресурсы изнутри словарь ресурсов должен ссылаться на ресурс, который уже был определен лексически перед ресурсом ссылка. Прямые ссылки не могут разрешаться статическим ресурсом ссылка.

А это:

Процесс поиска затем пересекает логическое дерево вверх, к родителю элемент и его словарь ресурсов. Это продолжается до корневого элемента достигнут.

Должен ли я определить свой ресурс в приложении или создать его из кода?

Ответы [ 2 ]

13 голосов
/ 03 марта 2010

Вы можете фактически установить любое свойство как элемента, так и атрибута, включая такие же простые, как Window.Left.

Это означает, что вы можете установить значение Left после объявления ресурсов.

<Window.Resources>
    <app:LeftConverter
        x:Key="LeftConverter" />
</Window.Resources>

<Window.Left>
    <Binding
        Path="UnconvertedLeft"
        Converter="{StaticResource LeftConverter}" />
</Window.Left>
0 голосов
/ 03 марта 2010

Если вам действительно нужен доступ к ResourceDictionary из корневого элемента, вы можете ссылаться на него как на DynamicResource, а не на StaticResource - я не уверен, будет ли он работать, но его стоит попробовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...