如何减少图片中显示的标题文本上方和下方的空间。我看到它来自标头的 DataTemplate,但我没有得到它。另外https://learn.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.navigationview.header?view=winrt-22621并没有真正的帮助。我还想知道如何将一行中的标题文本与下面的蓝色内容区域对齐。
<NavigationView
x:Name="NavigationViewControl"
Canvas.ZIndex="0"
IsBackButtonVisible="Visible"
IsBackEnabled="{x:Bind ViewModel.IsBackEnabled, Mode=OneWay}"
SelectedItem="{x:Bind ViewModel.Selected, Mode=OneWay}"
IsSettingsVisible="True"
ExpandedModeThresholdWidth="1280"
DisplayModeChanged="NavigationViewControl_DisplayModeChanged"
OpenPaneLength="160"
IsPaneOpen="False"
Header="{x:Bind ((ContentControl)ViewModel.Selected).Content, Mode=OneWay}">
<NavigationView.MenuItems>
<NavigationViewItem Content="Dashboard" helpers:NavigationHelper.NavigateTo="App.ViewModels.DashboardViewModel" Icon="Home" ></NavigationViewItem>
</NavigationView.MenuItems>
<NavigationView.HeaderTemplate>
<DataTemplate>
<Grid>
<TextBlock
Text="{Binding}"
Style="{ThemeResource TitleTextBlockStyle}" />
</Grid>
</DataTemplate>
</NavigationView.HeaderTemplate>
<i:Interaction.Behaviors>
<behaviors:NavigationViewHeaderBehavior
DefaultHeader="{x:Bind ((ContentControl)ViewModel.Selected).Content, Mode=OneWay}">
<behaviors:NavigationViewHeaderBehavior.DefaultHeaderTemplate>
<DataTemplate>
<Grid>
<TextBlock
Text="{Binding}"
Style="{ThemeResource TitleTextBlockStyle}" />
</Grid>
</DataTemplate>
</behaviors:NavigationViewHeaderBehavior.DefaultHeaderTemplate>
</behaviors:NavigationViewHeaderBehavior>
</i:Interaction.Behaviors>
<Frame x:Name="NavigationFrame" Grid.Row="2" Background="{ThemeResource SystemAccentColorLight2}" Padding="3" CornerRadius="8"/>
</NavigationView>
您需要覆盖此资源:
<Thickness x:Key="NavigationViewHeaderMargin">56,44,0,0</Thickness>
您可以将其覆盖为
Page
资源:
<Page>
<Page.Resources>
<Thickness x:Key="NavigationViewHeaderMargin">0,0,0,0</Thickness>
</Page.Resources>
<NavigationView />
</Page>
或在您的
NavigationView
内:
<NavigationView>
<NavigationView.Resources>
<Thickness x:Key="NavigationViewHeaderMargin">0,0,0,0</Thickness>
</NavigationView.Resources>
</NavigationView>
您可以看到
NavigationViewHeaderMargin
在 generic.xaml 中的实际使用方式。