这段代码有什么问题?
SelectedCells.Count上的DataTrigger未启动。
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding Exclude.Exclude,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Value="True">
<Setter Property="Background" Value="#FFEBEBEB"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=SelectedCells.Count,ElementName=dgAssets }" Value="1">
<Setter Property="ContextMenu" Value="{StaticResource RowMenu}" />
<Setter Property="Background" Value="Green"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
仅在选择单个单元格时才尝试显示上下文菜单。
答案 0 :(得分:2)
SelectedCells
的{{1}}属性返回名为DataGrid
的内部对象。它扩展了另一个名为VirtualizedCellInfoCollection的类。它既不实现SelectedCellsCollection
也不实现INotifyCollectionChanged
接口。此外,其INotifyPropertyChanged
属性不是依赖属性。
因此,当所选单元格的数量增加或减少时,您的绑定无法通知您的数据触发器。对于数据触发器,其值始终为0.