c# - XAML Hub 控制 Windows 8.1 通用应用程序

标签 c# xaml winrt-xaml windows-8.1 win-universal-app

为什么 Windows 8.1 中的集线器控件似乎在顶部额外占用了 120 像素?

我已经嵌套了 Hub 控件,如下所示:

<Grid Background="{StaticResource DmWhiteBrush}">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>

        <controls:TopNavigationBarControl Grid.Row="0" />

        <Hub
            Grid.Row="1"
            Margin="0"
            VerticalContentAlignment="Stretch"                 >
            <HubSection
                VerticalContentAlignment="Stretch" > DATA BLA BLA
            </HubSection>

在我的集线器和控件之间:TopNavigationBarControl 似乎有大约 120 个额外像素,我发现没有什么比在集线器元素上添加负上边距更好的了,但这并不好。有谁知道我可以做什么来删除它?我不想在 hub 元素中使用标题。谢谢!

编辑: 截至目前,我发现没有什么比编辑集线器模板并删除标题并使用混合删除顶部填充更好的了。另外在我添加的集线器元素上

<Hub
    Grid.Row="0"
    Grid.RowSpan="2"
    Margin="0">

编辑2:在混合中我找不到那些额外的像素在哪里!,我可以清楚地看到仍然有一个标题空间,即使我已经删除了混合中的网格行定义。

最佳答案

您还需要删除每个 HubSectionPadding

这是 HubSection 控件的默认填充。

<Setter Property="Padding" Value="40,40,40,44"/>

将第二个 40 更改为 0 将折叠其间的所有空间。

<HubSection Header="HubSection 0" Padding="40,0,40,44">

更新

这是代码以及它在设计器上的样子。当我运行它时,它看起来完全一样。

enter image description here

enter image description here

关于c# - XAML Hub 控制 Windows 8.1 通用应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25119917/

相关文章:

c# - NavigationService 提示从未附加到任何 View 的类执行 "FileNotFound"

c# - 如何在本地存储中创建、存储和访问 fileopen picker 的图像

c# - 在 "Sources"参数中多次指定项目 X

xaml - 绑定(bind)到元素高度加上一个值

c# - 对未触发的 BackgroundWorker 事件感到困惑

c# - 当在其上绘制线条时,滚动条不会出现在面板上 (C#)

C# XML 同一元素多次出现

c# - 如何在 WPF(MVVM/ Entity Framework )中更新表单时显示从数据库到 TextBlock 的外键数据值?

wpf - 如何在 WPF 窗口中使用 WinRT SwapChainPanel 控件?

c# - Windows 8 应用程序中长时间启动后无法导航到页面