Для локализации У меня есть один файл resx для XAML-файла. Они лежат в одном каталоге и пространстве имен. Имя resx соответствует имени XAML со словом Ресурсы прилагаются.Псевдоним статического класса в XAML
я получить доступ к ресурсам, как это:
<TextBlock Text="{x:Static r:MainWindowResources.SomeText}"/>
Поскольку я нахожу это довольно длительный (и есть еще более длинные имена классов) Мне было интересно, есть ли какой-нибудь способ, которым я мог бы определить псевдоним для MainWindowResources. В C# я могу сделать это с помощью директивы using.
Было бы намного проще, если бы сгенерированная файловая оболочка ресурса не была классом со статическими свойствами. Возможным решением может быть использование экземпляра оболочки, который наследуется от DynamicObject. Вы можете передать ему тип и получить доступ к нему через статические элементы. Затем вы добавите экземпляр этой обертки в качестве ресурса в XAML.
Но я потерял поддержку IntelliSense, и, вероятно, это тоже не было бы здорово.
Другим решением было бы использовать расширение локализации WPF, но я также потерял бы поддержку IntelliSense. Плюс, я любопытно, есть ли другой способ создания псевдонима для статического класса. :)
[Именование пользовательского расширения Static предоставляет поддержку завершения редактирования редактора] (https://github.com/JohanLarsson/Gu.Localization). По крайней мере, это дураки R # :) –