Есть ли способ преобразовать разметку привязки WPF в экземпляр класса привязки и из него? - PullRequest
0 голосов
/ 21 июня 2009

Например, у меня есть следующая обязательная разметка

Text="{Binding Path=FirstName}"

довольно просто, но это может быть намного сложнее, мне нужно иметь возможность проанализировать эту разметку и привести ее в некое объективированное состояние, например, в экземпляр класса Binding.

Что-то, что могло бы работать в обратном порядке, экземпляр класса связывания, чтобы выплевывать разметку, был бы также хорош.

Я знаю, что такая вещь должна существовать в рамках, но я не знаю, где / какой класс.

Я посмотрел на XamlReader, но не смог заставить его работать, потому что в этом случае мне не хватает контекста, так как я работаю только с битами проекта, а не со всем.

Ответы [ 2 ]

2 голосов
/ 22 июня 2009

Вы можете получить объект Binding, используя GetBindingExpression, например, если у вас есть:

<TextBlock Name="MyTextBlock" Text="{Binding Name}"/>

Вы можете использовать:

BindingExpression expr = BindingExpression.GetBindingExpression(MyTextBlock, TextBlock.TextProperty);
Binding bindingObject = expr.ParentBinding;
0 голосов
/ 22 июня 2009

Чтобы использовать XAMLReader, вы должны окружить его действительным корнем. тогда эта работа должна.

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