有没有办法将WPF绑定标记转换为绑定类的实例?

时间:2009-06-21 16:18:04

标签: wpf xaml

例如,我有以下绑定标记

Text="{Binding Path=FirstName}"

非常简单,但它可能要复杂得多,我需要能够解析这个标记并将其转换为某种客观化的形式,例如Binding类的实例。

可以反向运行的东西,绑定类的一个实例来吐出标记也会很棒。

我知道框架中必须存在这样的东西,但我不知道哪个/哪个类。

我查看了XamlReader,但无法使其工作,因为在这种情况下我缺少上下文,因为我只处理项目的部分而不是整个。

2 个答案:

答案 0 :(得分:2)

您可以使用GetBindingExpression获取Binding对象,例如,如果您有:

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

您可以使用:

BindingExpression expr = BindingExpression.GetBindingExpression(MyTextBlock, TextBlock.TextProperty);
Binding bindingObject = expr.ParentBinding;

答案 1 :(得分:0)

要使用XAMLReader,您必须使用有效的根包围它。然后这个shoudl工作。