如何根据Datagridview中的选定行设置Button Visibility?

时间:2014-08-08 03:51:32

标签: c# wpf mvvm datagridview

您好我正在开发一个使用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架构中。

1 个答案:

答案 0 :(得分:2)

这是一个简单的方法

您的资源需要转换器

例如

    <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />

按钮的可见性

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