我有一个带有行数的数据网格。每行都有作为 DeleteRow 按钮。只有被选中的行应该有这个按钮可见。在我看来,可能至少有两种解决方案:
a) 将按钮的 Visibility-property 绑定到包含 DatGridRow 的 IsSelected-property
或者
b)使用按钮中的触发器仅在选择包含行时才可见。
这是我为选项 b 提供的代码,它不起作用:
<DataGridTemplateColumn Width="50">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="X" Tag="{Binding}" Click="DeletRow_Click" Visibility="Hidden">
<Button.Style>
<Style x:Name="ButtonVisibility">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow}},Path=IsSelected}" Value="True">
<Setter Property= "Button.Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
这可能真的很容易,但我一直盯着它看,现在让我眼花缭乱:S
谢谢