Binding.RelativeSource 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
通过指定绑定源相对于绑定目标位置的位置,获取或设置此绑定源。
public:
property System::Windows::Data::RelativeSource ^ RelativeSource { System::Windows::Data::RelativeSource ^ get(); void set(System::Windows::Data::RelativeSource ^ value); };
public System.Windows.Data.RelativeSource RelativeSource { get; set; }
member this.RelativeSource : System.Windows.Data.RelativeSource with get, set
Public Property RelativeSource As RelativeSource
属性值
一个 RelativeSource 对象,它指定要使用的绑定源的相对位置。 默认值为 null
。
示例
以下示例显示了创建 ToolTip 报告验证错误消息的样式触发器。 setter 的值绑定到当前 TextBox (TextBox 使用样式) 使用 RelativeSource 属性的错误内容。 有关此示例的详细信息,请参阅 如何:实现绑定验证。
<Style x:Key="textBoxInError" TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding RelativeSource={x:Static RelativeSource.Self},
Path=(Validation.Errors)/ErrorContent}"/>
</Trigger>
</Style.Triggers>
</Style>
若要查看完整示例,请参阅 绑定验证示例。
注解
此属性通常用于将对象的一个属性绑定到同一对象的另一个属性,或在样式或模板中定义绑定。
默认情况下,绑定继承属性指定的 DataContext
数据上下文(如果已设置)。 但是,该 RelativeSource 属性是显式设置源并重写继承的数据上下文的方法之一 Binding 。 有关详细信息,请参阅 如何:指定绑定源。
该 Binding.ElementName 属性 Binding.Source 还允许显式设置绑定的源。 但是,应为每个绑定设置三个属性中的ElementNameSourceRelativeSource一个,或发生冲突。 如果存在绑定源冲突,此属性将引发异常。
有关 XAML 信息,请参阅 RelativeSource MarkupExtension。