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>
完全な例については、「 バインド検証サンプル」を参照してください。
注釈
このプロパティは、オブジェクトの 1 つのプロパティを同じオブジェクトの別のプロパティにバインドしたり、スタイルまたはテンプレートでバインドを定義したりするために一般的に使用されます。
既定では、バインディングは、プロパティで指定されたデータ コンテキストを DataContext
継承します (設定されている場合)。 ただし、この RelativeSource プロパティは、継承されたデータ コンテキストのソースを明示的に設定してオーバーライドする方法の Binding 1 つです。 詳細については、「 方法: バインディング ソースを指定する」を参照してください。
プロパティ Binding.ElementName を Binding.Source 使用すると、バインディングのソースを明示的に設定することもできます。 ただし、バインディングごとに設定する必要があるプロパティElementNameは SourceRelativeSource3 つのうち 1 つだけです。または競合が発生する可能性があります。 バインディング ソースの競合がある場合、このプロパティは例外をスローします。
XAML の詳細については、「 RelativeSource MarkupExtension」を参照してください。