理解WPF Binding CommandParameter =“{Binding}”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了理解WPF Binding CommandParameter =“{Binding}”相关的知识,希望对你有一定的参考价值。
也许这是一个愚蠢的问题,但我找不到答案:在下面的xaml CommandParameter
绑定到什么?或者一般来说,"{Binding}"
是什么意思?
<Button Command="{Binding DataContext.DeleteCommand, ElementName=List}"
CommandParameter="{Binding}"/>
{Binding ...}
是MarkupExtension。
在其通常的形式,它需要像{Binding Path=someProperty, ...}
(或其短形式{Binding someProperty, ...}
)的路径。
所以{Binding}
中的路径是空的,这意味着Binding绑定到绑定的任何Source。如果你知道,这可能会更容易理解,{Binding}
实际上与{Binding DataContext,RelativeSource={RelativeSource Self}}
相同。
因此,在您的情况下,CommandParameter获取Button的当前DataContext的值。
Empty {Binding}
将控件的当前DataContext分别传递给Executed和CanExecute方法。
检查以下链接
http://www.developmentalmadness.com/archive/2009/08/26/xaml-binding-to-the-current-datacontext.aspx
http://www.wpfmentor.com/2009/01/how-to-add-binding-to-commandparameter.html
以上是关于理解WPF Binding CommandParameter =“{Binding}”的主要内容,如果未能解决你的问题,请参考以下文章
WPF binding<一> Data Binding在WPF中的地位
wpf 中images控件binding显示图片后,图片文件会一直被占用吗?如果是该怎么解