What does {Binding Path=.} mean in a WPF binding?
I see some people use it, but couldn't find any explanation.
Are there any other special symbols in binding syntax (other than {Binding /})?
I found this WPF Binding CheatSheet a few months back and find it very useful, especially for anyone learning WPF. There are some spelling mistakes within it, but it is still quite good.
Here is a small excerpt (which is supposed to have tabular formatting):
| Basic Binding | |
|---|---|
| {Binding} | Bind to current DataContext. |
| {Binding Name} | Bind to the “Name” property of the current DataContext. |
| {Binding Name.Length} | Bind to the Length property of the object in the Name property of the current DataContext. |
| {Binding ElementName=SomeTextBox, Path=Text} | Bind to the “Text” property of the element XAML element with name=”SomeTextBox” or x:Name=”SomeTextBox”. |
{Binding }, but it's been quite a few years since I've worked much with Xaml, so I'm not sure.{Binding string} is similar to {Binding Path=string}. string is not used to initialize the property Path directly, but as a parameter for the constructor Binding (string path) which then initializes Path property. This works only when the string is the first token after Binding, the rest being regular initializers (property=value pairs). Knowing that, Binding . is in effect equal to Binding Path=. and property Path syntax is available here.This is shorthand for binding to the current source. For more info see here.
From the documentation specifically:
Optionally, a period (.) path can be used to bind to the current source. For example,
Text="{Binding}"is equivalent toText="{Binding Path=.}".