如何在Silverlight中访问数据绑定属性上的属性?
例如,我有一个绑定到属性的简单文本框:如何在Silverlight中访问数据绑定属性上的属性?,silverlight,data-binding,Silverlight,Data Binding,例如,我有一个绑定到属性的简单文本框: <TextBox Text="{Binding FirstName, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}" /> 因此,给定textbox,我想从属性中获取displayname属性。这将用于包含fieldlabel和其他一些细节的复合控件中 提前感谢。我现在无法尝试,因此这可能不准确,甚至不可能。一旦我到了一台我可以尝试的电脑,我会…
<TextBox Text="{Binding FirstName, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}" />
因此,给定textbox,我想从属性中获取displayname属性。这将用于包含fieldlabel和其他一些细节的复合控件中
提前感谢。我现在无法尝试,因此这可能不准确,甚至不可能。一旦我到了一台我可以尝试的电脑,我会……在那之前,这只是理论。 我猜在复合控件中,每个数据绑定字段都会有如下内容:
<TextBlock Text="{Binding FirstName, Mode=OneWay}" />
<TextBox Text="{Binding FirstName, Mode=TwoWay, ...}" />
在这里,我传入了Display
作为参数,以防您想要访问其他属性
同样,这只是理论,因为我目前无法测试这一点,并且无法回忆IValueConverter.Convert(object value,…)
是否传递了有问题的对象,或者在本例中仅传递了字符串值。如果它只是字符串值,则可能是不可能的,但如果它是对象,则取决于您对反射名称空间的访问量,以计算属性
一旦我有能力,我将把这个场景放在一起,并尝试一下
编辑:
由于某种原因,当我尝试在这个编辑中粘贴代码时,sytax highlighter给了我手指
不管怎样,在一个小项目中尝试了这个之后,它认为你做不到
根据我的建议,制作2个数据绑定控件,并对使用该属性的控件使用转换器,我执行了以下操作:
<TextBlock Text="{Binding FirstName, Mode=OneWay}" />
<TextBox Text="{Binding FirstName, Mode=TwoWay, ...}" />
<TextBlock Text="{Binding FirstName, Mode=OneWay, Converter={StaticResource AttributeConverter}, ConverterParameter=Display}" />
<TextBox Text="{Binding FirstName, Mode=TwoWay, ...}" />