2

当我添加

    <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}" />

构造函数正在破坏。

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

4

2 回答 2

9

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

如果你想在运行时区分对象,你可以设置Tag属性,它可以容忍一切。

更多信息:http x:Name: //msdn.microsoft.com/en-us/library/ms752290.aspx

于 2013-10-07T13:15:12.233 回答
4

FrameworkElement.Tag根据 MSDN,您应该使用属性

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

.net 中的 Tag 属性有什么用

于 2013-10-07T13:23:57.607 回答