理解WPF Binding CommandParameter =“{Binding}”

问题描述 投票:33回答:2

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

<Button Command="{Binding DataContext.DeleteCommand, ElementName=List}" 
        CommandParameter="{Binding}"/>
wpf binding
2个回答
54
投票

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

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


10
投票
© www.soinside.com 2019 - 2024. All rights reserved.