我希望只有在选择DataGrid中的单元格时才启用按钮。
当DataGrid的SelectionUnit设置为“FullRow”时,此行XAML有效:
IsEnabled="{Binding ElementName=dataGrid, Path=SelectedItems.Count}"
当DataGrid的SelectionUnit设置为“Cell”时,它不再正确启用按钮
知道为什么会这样吗?
有没有合适的工作?
由于
答案 0 :(得分:1)
当DataGrid由Cells选择时,DataGrid的SelectedCells.Count
应返回非零值。 Button
上的样式中的DataTrigger
可以绑定到Value="0"
,并在{{1}}时禁用该按钮。
答案 1 :(得分:1)
事实证明,DataGrid的SelectedCells.Count属性没有实现INotifyPropertyChanged。
当所选单元格的数量发生变化时,我的绑定无法通知我的数据触发器,并且数据触发值始终为0(即使代码隐藏显示其他情况)...
我最终将数据触发器绑定到跟踪DataGrid的选定行索引的内部属性,并检查它是否等于-1。
<Button.Style>
<Style TargetType="Button">
<Setter Property="IsEnabled" Value="True" />
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedRowIndex}" Value="-1">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>