-api-id | -api-type |
---|---|
P:Windows.UI.Xaml.Data.Binding.Path |
winrt property |
Gets or sets the path to the binding source property.
<Binding Path="propertyPath"/>
- propertyPath
- propertyPathA string that describes a property on the binding source. This can be a simple property name, or a "dotted-down" property path to a sub-property. For details on how to reference sub-properties, see Property-path syntax.
The path can be a direct property of the source object, or sub-properties of that object that you traverse to using the property path syntax. For Microsoft .NET data sources, paths can also use an indexer syntax to reference specific items in a collection. For details on the property path format, see Property-path syntax.
To set the data source to be the Source object, the path should be defined with an empty string ("").
When using the {Binding} markup extension, the Path value can be set using the argument immediately following the {Binding
part of the extension usage, you don't need to explicitly include Path=
. For example, {Binding Albums}
sets the Path value of that binding to be a PropertyPath constructed from the string "Albums" (no other Binding properties are set).
Most usages of Path involve setting its value. For scenarios where you are getting the value to examine the properties of an existing binding, the PropertyPath.Path value contains the string that represents the path.
You can't set the property values of a Binding object after that binding has been attached to a target element and target property. If you attempt this you'll get a run-time exception.
The following XAML demonstrates how to set the Path using the {Binding} markup extension. For the complete code listing, see the XAML data binding sample.
<StackPanel Margin="5">
<TextBlock Text="Name:" Style="{StaticResource DescriptionTextStyle}"
Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<TextBox Text="{Binding Path=Name, Mode=TwoWay}"
Width="350" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<TextBlock Text="Organization:" Style="{StaticResource DescriptionTextStyle}"
Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<!-- You can omit the 'Path=' portion of the binding expression. -->
<TextBox Text="{Binding Organization, Mode=TwoWay}" Width="350"
Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>
</StackPanel>
The following XAML demonstrates how to set the Path using integer and string indexers. For the complete code listing, see the XAML data binding sample.
Note
Visual C++ component extensions (C++/CX) does not currently support indexer binding. See the sample for a workaround.
<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Team name:"
Style="{StaticResource DescriptionTextStyle}"
Margin="5" FontWeight="Bold"/>
<TextBlock Text="{Binding Path=[3].Name}"
Style="{StaticResource DescriptionTextStyle}" Margin="5" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Team manager:"
Style="{StaticResource DescriptionTextStyle}"
Margin="5" FontWeight="Bold"/>
<TextBlock Text="{Binding Path=[3][Gaffer]}"
Style="{StaticResource DescriptionTextStyle}" Margin="5"/>
</StackPanel>
</StackPanel>
PropertyPath, XAML data binding sample, Data binding in depth