我有一个带有两行网格的页面。在第一行中,我有一个数据绑定的ItemsControl,在第二行中有一个简单的文本框。
问题在于,当页面正在加载时(即它被动画显示在视图中),ItemScontrol的内容溢出整个网格。只有在页面完全显示一段时间后(看起来恰好是1秒,虽然我还没有测量过),但内容会被正确地剪切到网格行。
以下是加载页面时发生的情况(并非此屏幕截图上有一些转换,但它们对此行为没有影响):
页面完全加载后,内容会被正确剪切:
这是伪XAML:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0">
<ItemsControl ItemsSource="{Binding}">
<!-- grid for each row -->
</ItemsControl>
</StackPanel>
<StackPanel Grid.Row="1">
<TextBox />
</StackPanel>
</Grid>
我发现如果我将ItemsControl(而不是StackPanel的!)高度设置为固定值,剪辑可以正常工作,但当然我不希望高度固定。
有什么想法吗?