我有一个由标签和文本框组成的用户控件。它位于滚动查看器内。
我正在其顶部绘制一个装饰器,并且需要将装饰器的大小调整为控件的可见大小。
如何获得控件的可见大小?
在下图中,绿色矩形是装饰器。正如您所看到的,它被绘制在右侧的滚动条上。
是否可以获得渲染部分的大小,或者我必须手动遍历可视化树并计算它?
编辑:更多背景信息
我正在构建一个非常有限的表单设计师。一切都在代码中发生。装饰器用于显示当前选定的控件。
我会放一个Canvas http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas.aspx在 ScrollViewer 中并将所有用户控件放置在画布上。如果随后将装饰器绘制在画布上,您不必担心它会绘制在 ScrollViewer 之上。
您还可以获得额外的好处,即装饰器消失在 ScrollViewer 下,而不是仅仅结束于它,因此您的用户知道控件超出了 ScrollViewer 的范围。这就是我在 WPF 中制作和见过的所有设计器的工作方式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)