【问题标题】:Binding a control's x:Name绑定控件的 x:Name
【发布时间】:2013-10-07 12:52:28
【问题描述】:

当我添加时

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

构造函数正在破坏。

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

【问题讨论】:

    标签: c# wpf xaml binding


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      What use is the Tag property in .net

      【讨论】:

        猜你喜欢
        • 2013-08-07
        • 2011-09-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多