将按钮添加到 WPF DataGrid [英] Adding a Button to a WPF DataGrid

查看:35
本文介绍了将按钮添加到 WPF DataGrid的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在 WPF 中创建一个 DataGrid 控件,其中每行的第一个单元格中有一个按钮.单击此按钮将显示 RowDetailsTemplate 或 SubRow.

I want to create a DataGrid control in WPF in which there is a button in the first cell of each row. Clicking this button will show RowDetailsTemplate or the SubRow.

如何添加显示/隐藏 RowDetailsTemplate 的按钮?

How do I add a button which will show/Hide the RowDetailsTemplate?

推荐答案

首先创建一个DataGridTemplateColumn来包含按钮:

First create a DataGridTemplateColumn to contain the button:

<DataGridTemplateColumn>
  <DataGridTemplateColumn.CellTemplate> 
    <DataTemplate> 
      <Button Click="ShowHideDetails">Details</Button> 
    </DataTemplate> 
  </DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn>

当按钮被点击时,更新包含DataGridRowDetailsVisibility:

When the button is clicked, update the containing DataGridRow's DetailsVisibility:

void ShowHideDetails(object sender, RoutedEventArgs e)
{
    for (var vis = sender as Visual; vis != null; vis = VisualTreeHelper.GetParent(vis) as Visual)
    if (vis is DataGridRow)
    {
        var row = (DataGridRow)vis;
        row.DetailsVisibility = 
        row.DetailsVisibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible;
        break;
    }
}

这篇关于将按钮添加到 WPF DataGrid的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆