我有一个带有两行网格的页面。在第一行中,我有一个数据绑定 ItemsControl,在第二行中有一个简单的文本框。
问题是当页面加载时(即它被动画化到视图中),ItemScontrol 的内容溢出整个网格。只有在页面在片刻之后完全显示之后(它似乎正好是 1 秒,虽然我没有测量它),内容才被正确地剪辑到 Grid 行。
以下是加载页面时发生的情况(不是此屏幕截图上有一些转换,但它们对此行为没有影响):
页面完全加载后,内容被正确剪辑:
这是伪 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 的!)高度设置为固定值,剪裁可以正常工作,但是我当然不希望高度固定。
有任何想法吗?