WPF:在多个页面中打印DataGrid

时间:2013-03-18 18:32:59

标签: wpf printing datagrid multipage

我的DataGrid需要水平和垂直打印多个页面。基于详尽的搜索,我得到的最接近的解是找到的http://www.codeproject.com/Articles/138233/Custom-Data-Grid-Document-Paginator。但是,如果打印了具有ComboBox作为其内容的DataGridTemplateColumn,则生成的打印输出为空白组合框。下面是打印的截图

http://www.filedropper.com/datagridprint

以下是用于在打印时创建模板列的代码,

private FrameworkElement GetTableCell(Grid grid, DataGridColumn column, object item, int columnIndex, int rowIndex)
    {
        FrameworkElement visualElement = null;
        if (column is DataGridTemplateColumn)
        {
            DataGridTemplateColumn templateColumn = column as DataGridTemplateColumn;
            ContentControl contentControl = new ContentControl();
            contentControl.Focusable = true;
            contentControl.ContentTemplate = templateColumn.CellTemplate;
            contentControl.Content = item;

            contentControl.SetValue(Grid.ColumnProperty, columnIndex);
            contentControl.SetValue(Grid.RowProperty, rowIndex);

            visualElement = contentControl;
        }

上面的代码基本上创建了新的内容控件,并将与网格关联的CellTemplate添加到新创建的内容中,但这不起作用。我想知道上面的代码是否有修复,如果没有,是否有一个可以将DataGrid打印成多个页面的工作解决方案(WYSIWYG)。

感谢您的帮助。

0 个答案:

没有答案