C# 打印WPF数据网格中的可见行

C# 打印WPF数据网格中的可见行,c#,wpf,datagrid,C#,Wpf,Datagrid,我正在使用找到的代码打印数据网格。唯一的问题是我用作DataGrid的ItemsSource的DataTable的列数超过了我在DataGrid中显示的列数,这些列也被添加到打印输出中 如何仅添加流程文档可见的值 for (int j = 0; j < row.Row.ItemArray.Length; j++) { r.Cells.Add(new TableCell(new Parag

我正在使用找到的代码打印数据网格。唯一的问题是我用作DataGrid的ItemsSource的DataTable的列数超过了我在DataGrid中显示的列数,这些列也被添加到打印输出中

如何仅添加流程文档可见的值

                for (int j = 0; j < row.Row.ItemArray.Length; j++)
                {
                    r.Cells.Add(new TableCell(new Paragraph(new Run(row.Row.ItemArray[j].ToString()))));

                    r.Cells.Last().ColumnSpan = 4;
                    r.Cells.Last().Padding = new Thickness(4);

                    r.Cells.Last().BorderBrush = Brushes.DarkGray;
                    r.Cells.Last().BorderThickness = new Thickness(0, 0, 1, 1);
                }
for(int j=0;j
从数据网格中拾取列时,请按可见性进行过滤

var headerList = dataGrid.Columns.Where(x=>x.Visibility == Visibility.Visible).Select(e => e.Header.ToString()).ToList();