理解WPF Binding CommandParameter ="{Binding}"

Bol*_*olu 34 wpf binding

也许这是一个愚蠢的问题,但我找不到答案:在下面的xaml中CommandParameter绑定到什么?或者一般来说,"{Binding}"意味着什么?

<Button Command="{Binding DataContext.DeleteCommand, ElementName=List}" 
        CommandParameter="{Binding}"/>
Run Code Online (Sandbox Code Playgroud)

Mar*_*ter 55

{Binding ...}是MarkupExtension.
在其通常的形式中,它采用路径{Binding Path=someProperty, ...}(或其简短形式{Binding someProperty, ...}).
所以路径{Binding}是空的,这意味着绑定绑定到绑定的任何源.如果你知道,这可能会更容易理解,这{Binding}实际上是相同的{Binding DataContext,RelativeSource={RelativeSource Self}}.

因此,在您的情况下,CommandParameter获取Button的当前DataContext的值.