如何更改XAML中NavigationView
的样式?
默认情况下,Minimal
模式有AlwaysShowHeader="True"
,但我想将其设置为AlwaysShowHeader="False"
。
这不起作用:
<NavigationView
x:Name="MyNavigationMenu"
AlwaysShowHeader="False" >
答案 0 :(得分:2)
你可以通过让begin
HeaderTemplate
为空来隐藏它,但是你也可以轻易地设置标题
DataTemplate
要使内部内容流入标题区域,您还必须修改默认模板。你可以在里面找到以下内容:
<NavigationView
x:Name="MyNavigationMenu"
Header="Hello World!"
AlwaysShowHeader="False">
<NavigationView.HeaderTemplate>
<DataTemplate />
</NavigationView.HeaderTemplate>
<TextBlock Text="Inner content" />
</NavigationView>
注意<ContentControl x:Name="HeaderContent"
ContentTemplate="{TemplateBinding HeaderTemplate}"
Content="{TemplateBinding Header}"
HorizontalContentAlignment="Stretch"
IsTabStop="False"
MinHeight="48"
VerticalContentAlignment="Stretch"/>
属性。这会导致标头始终占用至少48个有效像素。如果您未设置任何MinHeight="48"
,则Header
模式下仍会占用48个像素。要解决此问题,只需完全删除此属性即可。
当然,现在您必须确保您的内容知道在Minimal
模式下可能有上面的汉堡菜单按钮,并且您必须在适当的时候添加一些Minimal
。
Margin