在WPF绑定中,“ {Binding Path =。}”是什么意思?


Answers:


59

这是绑定到当前源的简写。有关更多信息,请参见此处

特别是从文档中:

(可选)可以使用句点(。)路径绑定到当前源。例如,Text="{Binding}"等效于Text="{Binding Path=.}"


1
@Ray-我的想法正好。如果要速记,为什么要停在那里?
米哈丹2009年

5
我不能与MSDN争论,但是还是有区别的。在{Binding Path =。}工作时,不能在对象本身上使用{Binding}(这是需要属性的两种方式)。
谢尔盖·阿尔杜霍夫

@Sergey-您是否有一个代码示例,其中{Binding}不起作用而{Binding Path =。}起作用?如果是这样,则MSDN可能需要更新...
micahtan,2009年

轻松地:var s =“ test; DataContext = s;并且在<TextBox Text = {Binding} />中-不起作用。但是MSDN不是Wiki ...
Sergey Aldoukhov 09年

8
另一个示例:<TextBlock Text =“ {Binding Converter = ...}” />不起作用,因为必须设置路径。在这种情况下,Path =。是有用的。
Nicolas

67

几个月前,我发现了此WPF Binding CheatSheet,发现它非常有用,特别是对于学习WPF的任何人。里面有一些拼写错误,但是还是不错的。

这是一个小的摘录(应该具有表格格式):

Basic Binding   
{Binding}  Bind to current DataContext. 
{Binding Name}  Bind to the “Name” proeprty of the current DataContext. 
{Bindind 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”. 

直接链接到CheatSheet


2
不错,但是{Binding。}是什么。我正在寻找对此的解释,但是找不到?
batmaci

@batmaci我想说它等同于{Binding },但是距我与Xaml的合作已经很多年了,所以我不确定。
瑞安Versaw

@batmaci,几年后... {Binding string}类似于{Binding Path=string}string不是用于Path直接初始化属性,而是用作构造函数的参数Binding (string path),然后构造函数初始化Path属性。仅当字符串是之后的第一个标记时,此方法才有效Binding,其余的是常规初始化程序(属性=值对)。知道Binding .实际上等于,Binding Path=.并且属性Path语法在此处可用。
分钟
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.