例如,我有以下绑定标记
Text="{Binding Path=FirstName}"
非常简单,但它可能要复杂得多,我需要能够解析这个标记并将其转换为某种客观化的形式,例如Binding类的实例。
可以反向运行的东西,绑定类的一个实例来吐出标记也会很棒。
我知道框架中必须存在这样的东西,但我不知道哪个/哪个类。
我查看了XamlReader,但无法使其工作,因为在这种情况下我缺少上下文,因为我只处理项目的部分而不是整个。
答案 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工作。