WPF平台如何获取控件的实际宽度和实际高度

How to get the actual width and actual height for a control in WPF platform

我正在 WPF 平台中准备一个自定义控件,我在其中使用内容展示器来显示视图,并且尝试使用文本块控件在内容展示器内容上显示文本。 对于文本块中的给定文本,我尝试使用文本块控件定位的测量方法计算文本块的实际宽度和实际高度,但它没有提供文本块控件的实际宽度和高度.这样文本块控件就不会显示在视图中。下面提供了代码片段: this.CustomTextBlock.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

谁能告诉我如何计算 WPF 平台中控件的实际宽度和实际高度,并向我解释为什么测量方法不提供 WPF 平台中控件的实际宽度和实际高度?

我还在下面附上了项目下载link:[https://www.syncfusion.com/downloads/support/directtrac/general/ze/BViewWpf1629602448][DemoProject]

UIElement.Measure是框架的布局引擎执行的方法。
Measure 在第一个布局过程中执行并实际计算 DesiredSize,它在调用 Arrange 时在第二个布局过程中使用。 Arrange 可以使用(取决于实现)DesiredSize 来排列它的子元素。 Measure对实际大小没有直接影响。它只计算最大可用 space。传递给此方法的大小不是强制性的,因为它可以被测量算法覆盖。该参数被认为是最小可用的 space。

如果要修改 FrameworkElement 的大小,请设置 WidthHeight 属性。

要防止 TextBlock 占用最大可用水平 space,只需将 HorizontalAlignment 设置为默认值 HorizontalAlignment.Stretch 以外的值:

<!-- Use Padding to add additional space -->
<TextBlock Text="Minimum sized TextBlock" 
           HorizontalAlignment="Left" />