所以我通过Win2D创建了一个文本编辑器来克服UWP playtform的RichEditBox限制。基本上,我有一个通过Draw事件的args.DrawingSession.DrawTextLayout()方法绘制文本的CanvasControl。
问题是CanvasControl不会调整自己的大小来容纳在其中绘制的内容。是否有我无法启用的功能,或者是否应该在每次调用Draw事件处理程序时手动启用?处理此问题的最有效方法是什么?谢谢!
发布于 2019-12-06 10:01:25
CanvasTextLayout.LayoutBounds.Height是对CanvasControl内部呈现高度的描述,但这不是CanvasControl控件本身的高度(实际上,CanvasControl.Height在调试时总是显示NaN )。
只有当CanvasControl的Height属性大于ScrollViewer的高度时,才会显示滚动条。
因此,在呈现文本之后,您可以手动设置CanvasControl的Height。
// render code
// ...
double height = textLayout.LayoutBounds.Height;
canvasControl.Height = height;诚挚的问候。
https://stackoverflow.com/questions/59202429
复制相似问题