Binding.RelativeSource プロパティ

定義

バインディング ターゲットの位置に対して相対的な位置を指定することにより、バインディング ソースを取得または設定します。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

使用するバインディング ソースの相対的な位置を指定する 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. Setter の値は、プロパティを使用して、現在の 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 プロパティは、のソースを明示的に設定し、継承され Binding たデータコンテキストをオーバーライドする方法の1つです。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.ElementNameプロパティとプロパティを使用すると、 Binding.Source バインディングのソースを明示的に設定することもできます。The Binding.ElementName and Binding.Source properties also enable you to set the source of the binding explicitly. ただし、3つのプロパティ (、、) のいずれか1つだけを ElementName Source 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 MarkupExtension」を参照してください。For XAMLXAML information, see RelativeSource MarkupExtension.

適用対象

こちらもご覧ください