在 WPF 中使用 DataContext 作为 CommandParameter
Posted
技术标签:
【中文标题】在 WPF 中使用 DataContext 作为 CommandParameter【英文标题】:Use DataContext as CommandParameter in WPF 【发布时间】:2011-01-20 03:45:43 【问题描述】:我想将当前 DataContext(它是 ViewModel 的一个实例)作为 WPF 按钮上的 CommandParameter 传递。我应该使用什么语法?
<Button
x:Name="btnMain"
Command="infra:ApplicationCommands.MyCommand"
CommandParameter="Binding ???"
/>
【问题讨论】:
请注意这里的顺序很重要。CommandParameter
必须在 Command
之前,否则您只会看到 null
作为参数传递。
【参考方案1】:
一个空的Binding,没有路径,直接绑定到DataContext,所以
Binding
足以让它工作!你的例子:
<Button
x:Name="btnMain"
Command="infra:ApplicationCommands.MyCommand"
CommandParameter="Binding"
/>
【讨论】:
这太简单了,太棒了。不错:)【参考方案2】:<Button
x:Name="btnMain"
Command="infra:ApplicationCommands.MyCommand"
CommandParameter="Binding"
/>
只要按钮位于带有 DataContext 的项目的可视化树中
【讨论】:
以上是关于在 WPF 中使用 DataContext 作为 CommandParameter的主要内容,如果未能解决你的问题,请参考以下文章
数据绑定使用DataContext作为Binding的Source