c# - 向 WPF DataGrid 添加按钮

标签 c# wpf xaml datagrid

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

如何添加一个按钮来显示/隐藏 RowDetailsTemplate

最佳答案

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

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

单击按钮时,更新包含 DataGridRowDetailsVisibility:

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;
    }
}

关于c# - 向 WPF DataGrid 添加按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3046003/

相关文章:

c# - 如何正确地在 wpf 中重用矢量图

c# - 无法使用文件流构造函数 (C#) 创建具有变量名称的文件

c# - 如何解决 AerospikeClient 错误代码 1

wpf - 使用 T4 为 WPF 和 Silverlight 统一 XAML?

c# - 如何在 C# 代码后面显示 PictureBox

c# - 检查文本框是否为空

c# - UWP MediaElement 随机崩溃

c# - SetWindowPos/MoveWindow 持续存在问题

c# - 使用 TransactionScope : System. Transactions.TransactionAbortedException:事务已中止

使用 MVVM 的 WPF Datagrid .. 是否可以通过两种方式绑定(bind)到 DataTable?