【问题标题】:Winrt Xaml Grid ROw not filling Space with *Winrt Xaml Grid Row 没有用 * 填充空间
【发布时间】:2013-10-29 12:10:46
【问题描述】:

我的问题是,我的 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>

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

现在填充的 ListView:

【问题讨论】:

  • 不完整。你看到了什么,网格的高度是如何确定的?
  • 正如我所描述的。网格只有 35+310 px + listview 的高度。 ListView 未扩展到剩余高度。没有给出网格高度。放置 Grid.Height="Auto" 没有帮助。
  • 仍未完成。 Row="2" 里面有没有东西可以看到,是不是流到了底部?
  • 你能发一个屏幕截图吗?
  • 第 2 行不会流到底部,因为这是我的目标。 VerticalAlign="bottom" 也无济于事。第 1 行没有扩展以完全填满空间 - 如果那里只有几个 ListItems。

标签: c# wpf xaml windows-runtime


【解决方案1】:

我会尝试将HubSectionVerticalContentAlignment 设置为Stretch,并将外部网格的VCA 设置为该选项。我怀疑默认值可能是CenterTop,因此从父控件最小化垂直对齐控件和内部网格的扩展星形行设置有点冲突,一些布局优先规则可能会解决让 VCA 规则获胜。

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

【讨论】:

  • VerticalContentAlignment="Stretch" 的提示就是它。这么简单:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-17
  • 2012-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多