如何解决如何获得WPF用户控件可见部分的大小?
| 我有一个由标签和文本框组成的用户控件。它在滚动查看器中。 我正在其上绘制装饰物,我需要将装饰物的大小调整为控件的可见大小。 如何获得控件的可见大小? 在下面的图像中,绿色矩形是装饰物。如您所见,它被绘制在右侧的滚动条上。 是否可以获取渲染零件的大小,还是我必须手动穿过可视树并进行计算? 编辑:更多背景信息 我正在建立一个非常有限的表单设计师。一切都在代码中发生。装饰器用于显示当前选定的控件。解决方法
我将Canvas放在ScrollViewer中,然后将所有用户控件放在Canvas上。如果随后在画布上绘制了Adorner,则不必担心它会在ScrollViewer上方绘制。
您还将获得装饰器消失在ScrollViewer下的更多好处,而不仅仅是在它结束之后,因此您的用户知道控件扩展到了ScrollViewer之外。这就是我在WPF中制作和看到的所有设计师的工作方式。
,如果您只担心剪切装饰器,则可以在内容中包含AdornerDecorator。就像是:
<ScrollViewer>
<AdornerDecorator>
<!-- Your content here -->
</AdornerDecorator>
</ScrollViewer>
或者,您可以将AdornerDecorator直接包含在UserControl中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。