Binding.Path プロパティ


バインディング ソース プロパティへのパスを取得または設定します。Gets or sets the path to the binding source property.

 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



バインディング ソース プロパティへのパス。The path to the binding source. 既定では、 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}">
    <Trigger Property="Validation.HasError" Value="true">
      <Setter Property="ToolTip"
        Value="{Binding RelativeSource={x:Static RelativeSource.Self},


各バインドには、通常、バインディングターゲットオブジェクト、ターゲットプロパティ、バインディングソース、および使用するバインディングソース内の値へのパスという4つのコンポーネントがあります。Each binding typically has these four components: a binding target object, a target property, a binding source, and a path to the value in the binding source to use. これらのデータバインディングの概念の詳細については、「 データバインディングの概要」を参照してください。For more information about these data binding concepts, see Data Binding Overview.

Path プロパティを使用して、バインドするソース値を指定します。Use the Path property to specify the source value you want to bind to:

  • 最も簡単なケースでは、Path プロパティの値は、バインディングに使用するソース オブジェクトのプロパティの名前です (Path=PropertyName など)。In the simplest case, the Path property value is the name of the property of the source object to use for the binding, such as Path=PropertyName.

  • プロパティのサブプロパティは、C# で使用される構文と同様の構文で指定できます。Subproperties of a property can be specified by a syntax similar to that used in C#. たとえば、句 Path=ShoppingCart.Order は、バインディングをオブジェクトのサブプロパティ Order またはプロパティ ShoppingCart に設定します。For instance, the clause Path=ShoppingCart.Order sets the binding to the subproperty Order of the object or property ShoppingCart.

  • 添付プロパティにバインドするには、添付プロパティをかっこで囲みます。To bind to an attached property, place parentheses around the attached property. たとえば、添付プロパティ DockPanel.Dock にバインドする構文は Path=(DockPanel.Dock) です。For example, to bind to the attached property DockPanel.Dock, the syntax is Path=(DockPanel.Dock).

  • プロパティのインデクサーは、インデクサーが適用されているプロパティ名の後ろの角かっこ内に指定できます。Indexers of a property can be specified within square brackets following the property name where the indexer is applied. たとえば、句 Path=ShoppingCart[0] は、プロパティの内部インデックスがリテラル文字列「0」を処理する方法に対応するインデックスへのバインディングを設定します。For instance, the clause Path=ShoppingCart[0] sets the binding to the index that corresponds to how your property's internal indexing handles the literal string "0". 複数のインデクサーもサポートされています。Multiple indexers are also supported.

  • Path 句ではインデクサーとサブプロパティを混在させることができます。例: Path=ShoppingCart.ShippingInfo[MailingAddress,Street].Indexers and subproperties can be mixed in a Path clause; for example, Path=ShoppingCart.ShippingInfo[MailingAddress,Street].

  • インデクサー内では、コンマ (,) で区切って複数のインデクサー パラメーターを指定できます。Inside indexers you can have multiple indexer parameters separated by commas (,). 各パラメーターの型は、かっこで指定できます。The type of each parameter can be specified with parentheses. たとえば、Path="[(sys:Int32)42,(sys:Int32)24]" などと指定できます。この場合、sysSystem 名前空間にマップされます。For example, you can have Path="[(sys:Int32)42,(sys:Int32)24]", where sys is mapped to the System namespace.

  • ソースがコレクション ビューの場合は、現在の項目をスラッシュ (/) で指定できます。When the source is a collection view, the current item can be specified with a slash (/). たとえば、句 Path=/ では、ビューの現在の項目に対するバインディングが設定されます。For example, the clause Path=/ sets the binding to the current item in the view. ソースがコレクションの場合、この構文では、既定のコレクション ビューの現在の項目を指定します。When the source is a collection, this syntax specifies the current item of the default collection view.

  • プロパティ名とスラッシュを組み合わせて、コレクションであるプロパティを走査することができます。Property names and slashes can be combined to traverse properties that are collections. たとえば、Path=/Offices/ManagerName では、それもコレクションである Offices プロパティが含まれるソース コレクションの現在の項目が指定されます。For example, Path=/Offices/ManagerName specifies the current item of the source collection, which contains an Offices property that is also a collection. 現在の項目は、ManagerName プロパティを含むオブジェクトです。Its current item is an object that contains a ManagerName property.

  • 必要に応じて、ピリオド (.) のパスを使用して、現在のソースにバインドできます。Optionally, a period (.) path can be used to bind to the current source. たとえば、Text="{Binding}" は、Text="{Binding Path=.}" と同じです。For example, Text="{Binding}" is equivalent to Text="{Binding Path=.}".

パスの構文の詳細については、「 バインディング宣言の概要 」または「 PropertyPath XAML 構文」を参照してください。For information about path syntax, see Binding Declarations Overview or PropertyPath XAML Syntax.

バインドについ XMLXML ては、プロパティを参照してください XPathFor XMLXML bindings, see the XPath property.

オブジェクト全体にバインドするには、プロパティを指定する必要はありません PathTo bind to an entire object, you do not need to specify the Path property. 詳細については、「 データバインディングの概要」の「値へのパスの指定」を参照してください。For more information, see "Specifying the Path to the Value" in Data Binding Overview.