Поместите существующий объект в ResourceDictionary с помощью XAML - PullRequest
1 голос
/ 09 февраля 2012

Как я могу вставить существующий объект (из статического поля) в ResourceDictionary таким образом, чтобы это было эквивалентно его непосредственному созданию, т.е. ссылка на ресурс с {StaticResource name} должна возвращать экземпляр объекта, а не какую-либо оболочку (например, ObjectDataProvider).

1 Ответ

0 голосов
/ 11 февраля 2012

UPDATE

К сожалению, StaticExtension работает не во всех случаях, похоже, он просто вставляет StaticExtension объект, который можно преобразовать в базовый источник, но он не работает во всех контекстах (например, при передаче значения параметра в расширение разметки).

Фактическое значение вставляется только при использовании синтаксиса разметки {x:Static my:Foo.Bar}, но это возможно только для свойств, когда мне нужны коллекции.


Кажется, я могу сделать это с StaticExtension, но по какой-то причине не напрямую внутри Application.Resources.

<x:Static Member="my:MyEnum.One" x:Key="one" />

Он работает непосредственно внутри Ресурсов других классов, а также в классе Application, если я заключаю все в явное <ResourceDictionary>.

Это ошибка во время компиляции для ошибочного случая:

Ошибка 3 Программа «X: \ y \ prog.exe» не содержит статического «Main» метод подходит для точки входа

Кроме того, VS2010 рухнул вскоре после того, как я начал редактировать MainWindow.xaml.

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