也许这是一个愚蠢的问题,但我找不到答案:在下面的xaml CommandParameter
绑定到什么?或者一般来说,"{Binding}"
是什么意思?
<Button Command="{Binding DataContext.DeleteCommand, ElementName=List}"
CommandParameter="{Binding}"/>
答案 0 :(得分:54)
{Binding ...}
是MarkupExtension
在其通常的形式中,它采用类似{Binding Path=someProperty, ...}
(或其简短形式{Binding someProperty, ...}
)的路径
因此{Binding}
中的路径为空,这意味着绑定绑定到绑定的任何源。如果您知道{Binding}
实际上与{Binding DataContext,RelativeSource={RelativeSource Self}}
相同,这可能会更容易理解。
因此,在您的情况下,CommandParameter获取Button的当前DataContext的值。
答案 1 :(得分:10)
空{Binding}
将控件的当前DataContext分别传递给Executed和CanExecute方法。