为什么 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:在混合中我找不到那些额外的像素在哪里!,我可以清楚地看到仍然有一个标题空间,即使我已经删除了混合中的网格行定义。
最佳答案
您还需要删除每个 HubSection
的 Padding
。
这是 HubSection
控件的默认填充。
<Setter Property="Padding" Value="40,40,40,44"/>
将第二个 40
更改为 0
将折叠其间的所有空间。
<HubSection Header="HubSection 0" Padding="40,0,40,44">
更新
这是代码以及它在设计器上的样子。当我运行它时,它看起来完全一样。
关于c# - XAML Hub 控制 Windows 8.1 通用应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25119917/