我正在尝试在UWP C#XAML上自定义 NavigationView
,在左侧面板的顶部有静态应用程序映像,它不会重定向到页面,而只是重定向到应用程序图标 .
官方documentation仅提及使用 Canvas.Index
0/1选项显示应用程序 Headers 并自定义背景 .
<NavigationView OpenPaneLength="200"
x:Name="navigationView"
SelectedItem="{x:Bind ViewModel.Selected, Mode=OneWay}"
Header="{x:Bind ViewModel.Selected.Content, Mode=OneWay}"
IsSettingsVisible="True"
IsPaneToggleButtonVisible="True"
Background="{ThemeResource SystemControlBackgroundAltHighBrush}">
我想自定义它在顶部至少有100x100像素的图像 .
What have I tried? : 我尝试了下面的代码,但图片只占据了左边的图标空间 .
<NavigationViewItem>
<Image Source="/Assets/Cubes/purple.png"
HorizontalAlignment="Center"></Image>
</NavigationViewItem>
<NavigationViewItem>
<Image Source="/Assets/Cubes/purple.png"
HorizontalAlignment="Center" MinHeight="100" MinWidth="100"></Image>
</NavigationViewItem>
<NavigationViewItem Height="100">
<Image Source="/Assets/Cubes/purple.png"
HorizontalAlignment="Center" MinHeight="100" MinWidth="100"></Image>
</NavigationViewItem>
Expected
是否仍然可以使用 NavigationView
实现此功能,还是需要使用其他UI元素,如 SplitView
或 MasterDetailView
1 回答
问题是由于根面板的NavigationViewItem的ControlTemplate的高度设置为固定值(40) .
您可以编辑NavigationViewItem的样式以使其符合您的要求 .
请参阅以下示例:
我为'LayoutRoot' Grid设置
Height="{TemplateBinding Height}"
,然后您可以将此样式应用于您的NavigationViewItem,如下所示: