【发布时间】:2020-08-02 01:12:20
【问题描述】:
我有一个数据网格,列出了可观察集合中存在的信息。到目前为止一切正常。
然后我想添加一个停止命令,其中 Name 属性作为参数,但是当我写 CommandParameter= {Binding Name} 时,我的按钮被禁用。 我尝试使用随机字符串设置 CommandParameter 并且可以正常工作,因此问题来自绑定。
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{ Binding Name }"/>
<DataGridTextColumn Header="Source" Binding="{ Binding Source }"/>
<DataGridTextColumn Header="Target" Binding="{ Binding Target }"/>
<DataGridTemplateColumn Header="Stop">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="Stop"
Command="{ Binding DataContext.StopCommand, RelativeSource = { RelativeSource FindAncestor,AncestorType={ x:Type DataGrid } } }"
CommandParameter="{ Binding Name }"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
谢谢!
【问题讨论】:
-
StopCommand是如何实现的?你管理CanExecute方法了吗?很可能您的按钮已禁用,因为它返回false
标签: c# .net wpf mvvm data-binding