Adding a Button to a WPF DataGrid

后端 未结 3 1403
[愿得一人]
[愿得一人] 2020-12-13 03:49

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

3条回答
  •  南笙
    南笙 (楼主)
    2020-12-13 03:57

    First create a DataGridTemplateColumn to contain the button:

    
       
         
           
         
       
    
    

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

提交回复
热议问题