我想用另一个 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 嵌套在视图的网格单元中。