2013-04-21 5 views
1

Я нашел функцию для печати содержимого сетки Wpf, но печать обрезана. Может кто-нибудь знать почему?Печать сетки WPF обрезана

функция:

и:

private void CreateWindowToPrint(out FlowDocument document, out 
Window window) 
     { 
      document = new FlowDocument { }; 
      var test = new PrintedTest() { DataContext = this.DataContext }; 
      document.Blocks.Add(new BlockUIContainer { Child = test }); 
      window = new Window {Content = document, Visibility =  System.Windows.Visibility.Hidden }; 
     } 

UserControl PrintedTest содержит мою сетку.

+0

Я предполагаю, что информация в окне не обрезана? – Dzyann

+0

Информация в окне не обрезана. Но когда я печатаю непосредственно из окна, он также обрезается – mich

ответ

1

У меня действительно нет большого опыта работы с печатью в WPF, но я думал, что попробую. Я мог бы воспроизвести вашу проблему, и до сих пор я не мог ее решить. Но в моем исследовании я нашел альтернативу, которая является более простым для печати Сетка:

 var printDialog = new PrintDialog(); 
     var result = printDialog.ShowDialog(); 
     if (result.HasValue && result.Value) 
     { 
      var testControl = new PrintedTest() { DataContext = this.DataContext }; 
      printDialog.PrintVisual(testControl, "My WPF printing a DataGrid"); 
     } 

Вместо отправки PrintTest вы могли бы на самом деле просто послать непосредственно сетку.

Смежные вопросы