Как использовать расширения разметки из кода C #? - PullRequest
3 голосов
/ 06 октября 2010

Предположим, у меня есть SomeExtension MarkupExtension.Кто-нибудь знает, как присвоить его свойству из кода C #?

То есть, например, в XAML у меня есть:

<TextBlock Text="{l:Translate LocalizedByMarkupExtension}" />

Я хочу сделать то же самое, используя код C #.

1 Ответ

1 голос
/ 04 марта 2011

В вашем примере вашему TranslateExtension потребуется реализовать конструктор, который принимает один параметр. Поэтому вам просто нужно передать значение в конструктор следующим образом:

TranslateExtension ext = new TranslateExtension("LocalizedByMarkupExtension");

Параметр может быть преобразован с использованием связанного TypeConverter или специального преобразователя значения Xaml. Но если вы просто передаете строки, вышеприведенное должно работать.

Тогда вы бы вызвали ProvideValue метод для получения результата.

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