Binding.Path プロパティ

定義

バインディング ソース プロパティへのパスを取得または設定します。

public:
 property System::Windows::PropertyPath ^ Path { System::Windows::PropertyPath ^ get(); void set(System::Windows::PropertyPath ^ value); };
public System.Windows.PropertyPath Path { get; set; }
member this.Path : System.Windows.PropertyPath with get, set
Public Property Path As PropertyPath

プロパティ値

PropertyPath

バインディング ソース プロパティへのパス。 既定値は、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>

注釈

通常、各バインディングには、バインド ターゲット オブジェクト、ターゲット プロパティ、バインディング ソース、使用するバインディング ソース内の値へのパスという 4 つのコンポーネントがあります。 これらのデータ バインディングの概念の詳細については、「 データ バインディングの概要」を参照してください。

Path プロパティを使用して、バインドするソース値を指定します。

  • 最も簡単なケースでは、Path プロパティの値は、バインディングに使用するソース オブジェクトのプロパティの名前です (Path=PropertyName など)。

  • プロパティのサブプロパティは、C# で使用される構文と同様の構文で指定できます。 たとえば、句 Path=ShoppingCart.Order は、バインディングをオブジェクトのサブプロパティ Order またはプロパティ ShoppingCart に設定します。

  • 添付プロパティにバインドするには、添付プロパティをかっこで囲みます。 たとえば、添付プロパティ DockPanel.Dock にバインドする構文は Path=(DockPanel.Dock) です。

  • プロパティのインデクサーは、インデクサーが適用されているプロパティ名の後ろの角かっこ内に指定できます。 たとえば、句 Path=ShoppingCart[0] は、プロパティの内部インデックスがリテラル文字列「0」を処理する方法に対応するインデックスへのバインディングを設定します。 複数のインデクサーもサポートされています。

  • Path 句ではインデクサーとサブプロパティを混在させることができます。例: Path=ShoppingCart.ShippingInfo[MailingAddress,Street].

  • インデクサー内では、コンマ (,) で区切って複数のインデクサー パラメーターを指定できます。 各パラメーターの型は、かっこで指定できます。 たとえば、Path="[(sys:Int32)42,(sys:Int32)24]" などと指定できます。この場合、sysSystem 名前空間にマップされます。

  • ソースがコレクション ビューの場合は、現在の項目をスラッシュ (/) で指定できます。 たとえば、句 Path=/ では、ビューの現在の項目に対するバインディングが設定されます。 ソースがコレクションの場合、この構文では、既定のコレクション ビューの現在の項目を指定します。

  • プロパティ名とスラッシュを組み合わせて、コレクションであるプロパティを走査することができます。 たとえば、Path=/Offices/ManagerName では、それもコレクションである Offices プロパティが含まれるソース コレクションの現在の項目が指定されます。 現在の項目は、ManagerName プロパティを含むオブジェクトです。

  • 必要に応じて、ピリオド (.) のパスを使用して、現在のソースにバインドできます。 たとえば、Text="{Binding}" は、Text="{Binding Path=.}" と同じです。

パス構文の詳細については、「 バインド宣言の概要 」または 「PropertyPath XAML 構文」を参照してください

XML バインディングについては、このプロパティを XPath 参照してください。

オブジェクト全体にバインドするには、プロパティを指定 Path する必要はありません。 詳細については、「 データ バインディングの概要」の「値へのパスの指定」を参照してください。

適用対象