我正在实现一个带有一些标签的自定义控件,我需要测量这些标签的大小以获得最佳布局。通过这种方式,我可以正确显示每种字体和字体大小的控件 你能告诉我我该怎么做呢? 谢谢。
答案 0 :(得分:2)
根据子元素的大小调整自定义控件的大小和排列的正确方法是覆盖MeasureOverride和ArrangeOverride。
请参阅链接了解详细信息,但简而言之,您的控件应该是(在MeasureOverride中):
UIElement.Measure
,这将返回您的孩子想要拥有的的尺寸,MeasureOverride
的返回值)。然后,在ArrangeOverride中,您获得框架作为参数分配给您的控件的大小,并且
UIElement.Arrange
。答案 1 :(得分:0)
你可能想查找ev.Graphics.MeasureString(str,font)