Использовать StaticResource в корневом элементе XAML
Я хочу использовать StaticResource в корневом элементе документа xaml.
Но MSDN говорит:
Статические ссылки ресурсов изнутри словарь ресурсов должен ссылаться на ресурс, который уже определен лексически перед ресурсом Справка. Прямые ссылки не могут разрешается статическим ресурсом ссылка.
И это:
Затем процесс поиска пересекает логическое дерево вверх, родительскому элемент и его ресурсный словарь. Это продолжается до тех пор, пока корневой элемент.
Должен ли я определить свой ресурс в приложении или создать его из кода?
Ответы
Ответ 1
Фактически вы можете установить любое свойство как элемент, так и атрибут, включая такие же простые, как Window.Left.
Это означает, что вы можете установить значение Left после объявления своих ресурсов.
<Window.Resources>
<app:LeftConverter
x:Key="LeftConverter" />
</Window.Resources>
<Window.Left>
<Binding
Path="UnconvertedLeft"
Converter="{StaticResource LeftConverter}" />
</Window.Left>
Ответ 2
Если вам действительно нужно получить доступ к ResourceDictionary из корневого элемента, вы можете ссылаться на него как на DynamicResource, а не на StaticResource - я не уверен, что он будет работать, но это может стоить попробовать.