且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

向WPF DataGrid添加按钮

更新时间:2022-05-15 02:44:55

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

First create a DataGridTemplateColumn to contain the button:

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

当按钮被点击时,更新包含DataGridRow的DetailsVisibility:

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