c# - Winrt Xaml Grid ROw 没有用 * 填充空间

标签 c# wpf xaml windows-runtime

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

<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 包含足够的项目时填满。 有什么想法吗?

Screen with a few ListViewItems. Notice the empty bottom

现在填充的ListView: Screen with a filled ListView - Scrollbar is visible. Bottom is filled.

最佳答案

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

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

关于c# - Winrt Xaml Grid ROw 没有用 * 填充空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19630868/

相关文章:

c# - 正则表达式 + 在模式中包含一个空格

wpf - DataContext 未绑定(bind)在 Style.Trigger 中

xaml - 如何只为特定平台设置 OnPlatform?

c# - ChromiumWebBrowser 禁用右键单击上下文菜单 C#

c# - 如何从复杂的 Json 对象中获取值?

c# - 为什么我在这里收到 "' System.Windows.Forms.Control' 不包含 'Checked' ...”的定义?

c# - ListView WP8 中的增量加载

c# - WPF .NET4.0 内容控件超出屏幕

c# - WPF 用户控件依赖属性值

c# - 如何在 C# 中检索 URL 协议(protocol)请求