求救 求救 紧急求救!!WPF大牛来帮忙

lcc101361 2010-09-16 01:19:17
WPF遇到个问题 打印输出一个tabControl中一个Item的 内容 里面有个ScrollView,内容很多,需求 完整分页的打印出来。

目前尝试能打印 内容也能完全取到 但是只能打印一页,剩下的数据截掉了,有什么好的方法么??

另外 可以直接获得绑定的数据已一个 userControl的形式获得 打印也是无法分页 求救求救啊 !!!
...全文
99 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyh4320121 2011-05-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jv9 的回复:]
打印后重新myscrollvier.Measure一次尺寸,再继续打印就可以了。
[/Quote]如果myscrollvier.Measure超过父控件的大小是不是也可以打印

lxgtmac 2010-09-17
  • 打赏
  • 举报
回复
学习了。。。
老Key 2010-09-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jv9 的回复:]
打印后重新myscrollvier.Measure一次尺寸,再继续打印就可以了。
[/Quote]恩,重新设置就可以的
jv9 2010-09-17
  • 打赏
  • 举报
回复
打印后重新myscrollvier.Measure一次尺寸,再继续打印就可以了。
jv9 2010-09-17
  • 打赏
  • 举报
回复
可以使用代码实现楼主需求:


<StackPanel>

<ScrollViewer Name="myscrollvier" CanContentScroll="True" VerticalScrollBarVisibility="Visible" Height="100" >

<StackPanel >

<RichTextBox Height="100" ScrollViewer.CanContentScroll="True" VerticalScrollBarVisibility="Visible" >

<FlowDocument>

<Paragraph >

<Image Source="image.JPG" />

</Paragraph>

</FlowDocument>

</RichTextBox>

</StackPanel>

</ScrollViewer>

<Button Content="Print" Width="50" Height="20" Click="btnPrint" />

</StackPanel>





private void btnPrint(object sender, RoutedEventArgs e)

{

PrintDialog printDlg = new System.Windows.Controls.PrintDialog();



if (printDlg.ShowDialog() == true)

{

System.Printing.PrintCapabilities capabilities = printDlg.PrintQueue.GetPrintCapabilities(printDlg.PrintTicket);



double scale = Math.Min(capabilities.PageImageableArea.ExtentWidth / myscrollvier.ActualWidth, capabilities.PageImageableArea.ExtentHeight /



myscrollvier.ActualHeight);



myscrollvier.LayoutTransform = new ScaleTransform(scale, scale);



Size sz = new Size(capabilities.PageImageableArea.ExtentWidth, capabilities.PageImageableArea.ExtentHeight);







myscrollvier.Measure(sz);



myscrollvier.Arrange(new Rect(new Point(capabilities.PageImageableArea.OriginWidth, capabilities.PageImageableArea.OriginHeight), sz));





printDlg.PrintVisual(myscrollvier, "打印");

}

lcc101361 2010-09-16
  • 打赏
  • 举报
回复
再顶一次 没人回就真的失望了
lcc101361 2010-09-16
  • 打赏
  • 举报
回复
没有人会么? 泪牛满面啊~
lcc101361 2010-09-16
  • 打赏
  • 举报
回复
无人问津啊 自己顶下 拜托拜托啊
lcc101361 2010-09-16
  • 打赏
  • 举报
回复
想法不错 实际不行 界面很复杂 绑定很复杂 再说即使能获得这个TabControl 内容过多 一页打不开还是不能打印全部内容 主要难点是分页
jstangwh 2010-09-16
  • 打赏
  • 举报
回复
我告诉你答案吧~下面做一个没有分页的。然后让它隐藏,然后打印隐藏的就可以了哇

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧