在previous question我試圖從我的TreeView打印,現在我去到父視圖,我有一個UserControl如何包含一個TreeView來顯示我的WPFview我的搜索結果,我試圖打印它和i相FlowDocumentScrollViewer包圍作爲代碼如下:用FlowDocumentScrollViewer打印AllPages
view.xaml
<FlowDocumentScrollViewer x:Name="flow" Margin="10" BorderThickness="0">
<FlowDocument>
<Section>
<BlockUIContainer>
<my:SearchTreeView Content="{Binding Stvm}"/>
</BlockUIContainer>
</Section>
</FlowDocument>
view.xaml.cs個
Printing.PrintDoc(flow.Document, txtSearch.Text + " - Result");
靜態printing.cs
public static void PrintDoc(System.Windows.Documents.FlowDocument fd, string description)
{
double h, w, cw;
h = fd.PageHeight ;
w = fd.PageWidth ;
cw = fd.ColumnWidth;
PrintDialog pd = new PrintDialog();
//pd.PageRangeSelection = PageRangeSelection.AllPages;
//pd.UserPageRangeEnabled = true;
if (pd.ShowDialog() != true || fd == null) return;
fd.PageHeight = pd.PrintableAreaHeight;
fd.PageWidth = pd.PrintableAreaWidth;
fd.PagePadding = new Thickness(50);
fd.ColumnGap = 0;
fd.ColumnWidth = pd.PrintableAreaWidth;
System.Windows.Documents.IDocumentPaginatorSource dps = fd;
// int c = dps.DocumentPaginator.PageCount;//0
pd.PrintDocument(dps.DocumentPaginator, description);
fd.PageHeight = h;
fd.PageWidth = w;
fd.PagePadding = new Thickness(0);
fd.ColumnWidth = cw;
}
我tryed幾乎所有的exmple在類似的問題,但我得到了最好的僅僅是第一頁結果像this ..; (
我使用WPF MVVM模式。這是否是正確的控制措施?或者我應該去做任何其他WPF控件。?
我在這裏回答了類似的問題。 http://stackoverflow.com/questions/6083555/itemscontrol-how-to-print-wrappanel-on-multiple-pages/18560535#18560535 感謝 – Nitin 2013-09-01 17:18:27