0

我想用另一个 UserControl 的对象填充一个 Vertical StackPanel。所有 UserControls 都应按最宽的一个进行缩放。最宽的控件应使用完整的可用宽度。

ParentControl
<Grid x:Name="mainGrid" >
  <StackPanel x:Name="myStackPanel" />
</Grid>

private void OnMyStackPanel_Loaded(object sender, RoutedEventArgs e)
{
  myStackPanel.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
  myStackPanel.Arrange(new Rect(0, 0, myStackPanel.DesiredSize.Width, myStackpanel.DesiredSize.Height));
  var width = myStackPanel.ActualWidth;
}

问题是之后的实际宽度为0。我必须向StackPanel添加一个元素。有没有办法将它包装成假定可用宽度的东西,以便我可以阅读?使用调度程序不起作用。ParentControl 嵌套在视图的网格单元中。

4

0 回答 0