1

我有一个问题,我的 Grid 没有按照我的意愿填充空间。这里有一些代码:

<HubSection>
      <Grid  Width="850">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="35"/>
                        <RowDefinition Height="*"/>
                        <RowDefinition Height="310"/>
                    </Grid.RowDefinitions>
                   <Input:RadDatePicker Grid.Row="0" Value="{Binding CurrentDate, Mode=TwoWay}" />
                   <ListView 
                            Grid.Row="1">...
                   </ListView>
                   <Grid Height="310"
                            Grid.Row="2">...
                   </Grid>

...我希望中间一排填充轮毂部分的空间。相反,它现在只是在列表视图包含足够的项目时填满。任何想法?

带有几个 ListViewItem 的屏幕。 注意空的底部

现在填充的 ListView: 带有填充 ListView 的屏幕 - 滚动条可见。 底部已填满。

4

1 回答 1

4

我会尝试将 设置为VerticalContentAlignment以及将外部网格的 VCA 设置为该选项。我怀疑默认值可能是or ,因此来自父控件的最小化垂直对齐控件和内部网格的扩展星型行设置有点冲突,一些布局优先级规则可能会在获取VCA 规则获胜。HubSectionStretchCenterTop

对于类似的布局问题,通常最好使用可视化树调试器进行分析,例如 XAML Spy 或 WinRT XAML Toolkit。您还可以尝试通过VisualTreeHelper自己与类一起遍历可视化树来跟踪这些不同的属性。

于 2013-10-29T04:10:46.593 回答