Binding.RelativeSource Binding.RelativeSource Binding.RelativeSource Binding.RelativeSource Property

定義

バインディング ターゲットの位置に対して相対的な位置を指定することにより、バインディング ソースを取得または設定します。Gets or sets the binding source by specifying its location relative to the position of the binding target.

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 オブジェクト。A RelativeSource object specifying the relative location of the binding source to use. 既定値は、null です。The default is null.

次の例は、スタイルのトリガーを作成する、ToolTip検証エラー メッセージを報告します。The following example shows a style trigger that creates a ToolTip that reports a validation error message. 現在のエラー コンテンツに、set アクセス操作子の値をバインドTextBox(、 TextBox 、スタイルを使用して) を使用して、RelativeSourceプロパティ。The value of the setter binds to the error content of the current TextBox (the TextBox using the style) using the RelativeSource property. この例の詳細については、次を参照してください。方法。検証にバインド実装します。For more information on this example, see How to: Implement Binding Validation.

<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>

完全なサンプルを表示するには、次を参照してください。バインディングの検証のサンプルします。To see the full example, see Binding Validation Sample.

注釈

オブジェクトの 1 つのプロパティを同一のオブジェクトの別のプロパティにバインドするか、スタイルまたはテンプレートのバインドを定義するこのプロパティは、よく使用されます。This property is commonly used to bind one property of an object to another property of the same object, or to define a binding in a style or template.

既定では、バインドがで指定されたデータ コンテキストを継承、DataContextいずれかが設定されている場合は、プロパティ。By default, bindings inherit the data context specified by the DataContext property, if one has been set. ただし、RelativeSourceプロパティは、のソースを明示的に設定する方法の 1 つ、Bindingし、継承されたデータ コンテキストをオーバーライドします。However, the RelativeSource property is one of the ways you can explicitly set the source of a Binding and override the inherited data context. 詳細については、「方法 :バインディング ソースを指定します。For more information, see How to: Specify the Binding Source.

Binding.ElementNameBinding.Sourceプロパティも有効にするバインディングのソースを設定する明示的にします。The Binding.ElementName and Binding.Source properties also enable you to set the source of the binding explicitly. ただし、3 つのプロパティの 1 つだけElementNameSource、およびRelativeSource、する必要がありますセットごとに、バインド、または競合が発生することができます。However, only one of the three properties, ElementName, Source, and RelativeSource, should be set for each binding, or a conflict can occur. このプロパティは、バインディング ソースの競合がある場合に例外をスローします。This property throws an exception if there is a binding source conflict.

XAMLXAMLについてを参照してくださいRelativeSource のマークアップ拡張機能します。For XAMLXAML information, see RelativeSource MarkupExtension.

適用対象

こちらもご覧ください