XAML允许您使用包含花括号的字符串指定属性值。下面是一个创建 Binding 实例并将其分配给 TextBox 元素的 Text 属性的示例。
<TextBox Text="{Binding ElementName=Foo, Path=Bar}"/>
我想扩展XAML,以便开发人员可以将其输入为有效...
<TextBox Text="{MyCustomObject Field1=Foo, Field2=Bar}"/>
这将创建我的类的实例并根据需要设置Field1 / Field2属性。这可能吗?如果是这样,你怎么做?
如果可以,我有一个后续问题。我可以使用字符串“{Binding ElementName = Foo,Path = Bar}”并要求框架处理它并返回它指定的 Binding 实例吗?这必须在某个地方完成,以使上述XAML工作,因此必须有一种方法来要求处理相同的事情。
答案 0 :(得分:2)
Binding
班级是Markup Extension。您可以通过派生System.Windows.Markup.MarkupExtension
来编写自己的作品。
ElementName
和Path
只是Binding
对象的属性。
对于后续操作,您可以通过实例化Binding
对象在代码中创建新的Binding
。我不知道处理字符串的方法。
答案 1 :(得分:1)