绑定控件的x:名称

时间:2013-10-07 12:52:29

标签: c# wpf xaml binding

当我添加

    <TextBlock  Text="{Binding SettingName}" TextWrapping="Wrap" Margin="10,-2,10,0" Style="{StaticResource PhoneTextSubtleStyle}" />    

一切都好。但是什么时候

 <TextBlock x:Name="{Binding SettingTextBlockName}"  Text="{Binding SettingName}" TextWrapping="Wrap" Margin="10,-2,10,0" Style="{StaticResource PhoneTextSubtleStyle}" />

构造函数正在破碎。

但我需要在所有元素中使用不同的名称。

2 个答案:

答案 0 :(得分:7)

x:Name是一个特殊财产。事实上,它根本不是属性,它是一个将元素的name或id属性映射到x:Name的属性。绑定仅在应用于DependencyProperty时有效,因此无法在x:Name上运行。必须手动设置。

如果要在运行时区分对象,可以设置Tag属性,该属性可以容忍所有内容。

更多关于x:Namehttp://msdn.microsoft.com/en-us/library/ms752290.aspx

答案 1 :(得分:4)

根据MSDN

,您应该使用FrameworkElement.Tag属性
  

FrameworkElement.Tag获取或设置可以的任意对象值   用于存储有关此元素的自定义信息。

What use is the Tag property in .net