我有一个由矩形和一些动态创建的标签组成的复合控件(动态,因为在设计时我不知道应该显示多少标签).通过组合整个控件大小,通过依赖属性传递的附加集合以及标签本身的高度,在运行时评估标签的位置(边距).
不幸的是,在渲染之前,我没有采用确定性的方法来确定标签高度.ActualWidth
并且ActualHeight
被显示在标签0之前,宽度/高度没有设置,因为我希望标签的大小自己立足于自己的内容,DesiredSize
返回为0,正确的尺寸或大小超过实际标签尺寸(如2〜3次),RenderSize
返回有效大小或0,它就像第一个标签返回有效大小和第二个 - 0.0,没有任何明显的原因.
我试过调用Measure()
带有double.PositiveInfinity的标签只是为了达到这种情况,当时的DesiredSize
方式比预期的要大(所有标签都有相同的字体,只包含数字,所以它们的大小都要小得多,但首先有~16像素,第二 - ~36,虽然渲染后,RenderSize
对他们两个都有效).
在屏幕上呈现之前,是否有确定的方法来检查所需的控件大小,仅基于其内容(而不是对齐/边距)?
Col*_*inE 13
您可以使用UpdateLayout强制度量/布局传递.调用此方法后ActualWidth
,ActualHeight
将具有正确的值.
归档时间: |
|
查看次数: |
4397 次 |
最近记录: |