gpt4 book ai didi

silverlight - SL 4 -- 强制重绘视觉树

转载 作者:行者123 更新时间:2023-12-04 11:31:05 27 4
gpt4 key购买 nike

我们的应用程序在 Canvas 上有许多对象; Canvas 包含在滚动查看器中。我们还有一个 slider 控件和一些按钮,它们始终位于窗口顶部的中心。
我试图通过捕获应用程序的位图来打印应用程序,但没有任何“装饰”—— slider 、按钮或滚动条。

        _scrollViewer.HorizontalScrollBarVisibility = ScrollBarVisibility.Hidden;
_scrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden;
var s = xSlider;
s.Visibility = Visibility.Collapsed;
var b = xPlusButton;
b.Visibility = Visibility.Collapsed;
b = xMinusButton;
b.Visibility = Visibility.Collapsed;

b = xButton;
b.Visibility = Visibility.Collapsed;

正如预期的那样, slider 和按钮是隐藏的,但滚动条不是。
我怀疑应用程序需要重新绘制布局才能隐藏滚动条。有没有办法做到这一点?由于 SL 4 中的打印操作必须由 UI 手势启动,这一点变得更加复杂。无法(AFAIK)以编程方式启动,因此此重绘必须在 PrintDocument 事件处理程序之一中发生。

感谢您的任何建议....

最佳答案

尝试跟随,

canvas.InvalidateMeasure();
canvas.InvalidateArrange();

如果打印文档忽略渲染转换,您也可以使用 WritableBitmap 捕获运行时图像并将图像发送到打印文档。

此外,如果您使用 WritableBitmap 来捕获元素,那么您应该将 RenderTransform 作为第二个参数。你可以发布你的代码来捕获屏幕吗?

关于silverlight - SL 4 -- 强制重绘视觉树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3608673/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com