如何更改NavigationView顶部面板的高度

时间:2019-04-24 13:34:04

标签: xaml uwp

问题

我在我的UWP应用程序中使用DbService属性设置为def copy_collection(client, from_db, from_coll, to_db=None, to_coll=None): to_db = from_db if to_db is None else to_db to_coll = from_coll if to_coll is None else to_coll assert (to_db != from_db or to_coll != from_coll), "Copy Error: Source and destination can't be same!" documents = client[from_db][from_coll].find() client[to_db][to_coll].insert_many([d for d in documents]) 的{​​{1}}。我添加了一些菜单项,但是无法调整顶部窗格的高度以适合菜单项。目前,窗格中的项目正在被裁剪。

我尝试了什么?

我尝试调整NavigationView的{​​{1}}属性,但它对顶部栏的高度没有影响,仅更改了整个PaneDisplayMode的高度(正如人们所期望的那样。

代码

这是我当前的XAML代码:

Top

所需结果

我想调整顶部窗格的高度,最好仅使用XAML ,以便菜单项可以容纳而不会被裁剪。

2 个答案:

答案 0 :(得分:0)

此问题是由于NavigationViewTopPane的默认高度为40。您将FontSize="60"设置为NavigationViewItem太大。

要解决此问题,您需要编辑NavigationView的ControlTemplate。一种简单的方法是遵循Use tools to work with themes easily文档来编辑副本NavigationView样式。

然后,您需要在ControlTemplate中找到一个名为“ TopNavGrid”的网格。默认值看起来像<Grid x:Name="TopNavGrid" Height="{ThemeResource NavigationViewTopPaneHeight}" ...,您需要将高度更改为适当的值。例如,<Grid x:Name="TopNavGrid" Height="100" ...。然后,菜单项将不会被裁剪。

enter image description here

答案 1 :(得分:0)

您需要做的就是使用轻量级样式覆盖NavigationViewTopPaneHeight,如下所示(您无需重新模板化控件):

<muxc:NavigationView.Resources>
  <x:Double x:Key="NavigationViewTopPaneHeight">100</x:Double>
</muxc:NavigationView.Resources>