如何根据Datagridview中的选定行设置按钮可见性

本文关键字:设置 按钮 可见性 何根 Datagridview | 更新日期: 2023-09-27 18:17:07

嗨,我正在开发一个数据网格来显示使用WPF MVVM的数据。当用户选择单行时,我需要添加删除按钮。

<DataGridTemplateColumn  Width="10*">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                        <Button Visibility="Collapsed"  Width="20" cal:Message.Attach="DeleteRow($dataContext)">Del</Button>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>

我需要设置可见性为true的按钮只选择行。我不能使用后面的代码,因为这是在MVVM架构。

如何根据Datagridview中的选定行设置按钮可见性

这里有一个简单的方法

你需要一个转换器在你的资源

    <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />

按钮的可见性

    <Button Visibility="{Binding IsSelected,
                                 RelativeSource={RelativeSource FindAncestor, AncestorType=DataGridRow}, 
                                 Converter={StaticResource BooleanToVisibilityConverter}}"