代码之家  ›  专栏  ›  技术社区  ›  Maurizio Reginelli

测量标签大小

  •  3
  • Maurizio Reginelli  · 技术社区  · 15 年前

    我正在实现一个带有一些标签的自定义控件,我需要测量这些标签的大小以获得最佳布局。这样我可以正确地显示每个字体和字体大小的控件。
    你能告诉我怎么做吗?
    谢谢您。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Heinzi    15 年前

    根据子元素的大小调整和排列自定义控件的正确方法是重写 MeasureOverride ArrangeOverride .

    有关详细信息,请参见链接,但简而言之,您的控件应该(在MeasureOverride中):

    1. 呼叫 UIElement.Measure 在所有孩子身上(包括你的标签),它将返回每个孩子的大小 想拥有 ,
    2. 计算你想要的尺寸
    3. 将此大小返回到框架(使用它作为 MeasureOverride )

    之后,在arrangeoverride中,您将获得框架作为参数分配给控件的大小,然后

    1. 确定要为每个子元素分配多少空间,以及
    2. 呼叫 UIElement.Arrange 在每个子元素上。
        2
  •  0
  •   dar7yl    15 年前

    您可能需要查找ev.graphics.measurestring(str,font)