如何将AppTitle添加到NavigationView

时间:2017-10-20 19:40:52

标签: c# uwp

安装了Fall更新并尝试了Navigation View控件。似乎与UWP工具包中的汉堡控件足够接近。

但我在向页面添加自定义应用标题时遇到问题。文章中的指示对我来说有点不清楚:

  

绘制标题栏会产生隐藏应用程序标题的副作用。要帮助用户,请通过添加自己的TextBlock来恢复标题。将以下标记添加到包含NavigationView的根页面。

接下来是xaml:

<!-- Page attribute -->
xmlns:appmodel="using:Windows.ApplicationModel"

<TextBlock x:Name="AppTitle" Style="{StaticResource CaptionTextBlockStyle}" Text="{x:Bind appmodel:Package.Current.DisplayName}" IsHitTestVisible="False"/>

所以我想我将这个XAML代码放在我的Pages网格中,但我没有获得应用程序标题。我需要在哪里删除此代码才能使其正常工作?

继承我的页面xaml

<Page
x:Class="MyPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:appmodel="using:Windows.ApplicationModel"
mc:Ignorable="d">

<Grid>
    <TextBlock x:Name="AppTitle" Style="{StaticResource CaptionTextBlockStyle}" Text="{x:Bind appmodel:Package.Current.DisplayName}" IsHitTestVisible="False"/>

    <NavigationView>
        <Frame x:Name="ContentFrame" Margin="24">
            <ContentControl  />
        </Frame>
    </NavigationView>
</Grid>
</Page>

1 个答案:

答案 0 :(得分:4)

您的TextBlock隐藏在NavigationView后面。如果你有一个足够长的标题,它会超越导航窗格,那就更明显了:

enter image description here

您可以通过切换Xaml中的顺序将其置于顶部:

<Grid>
    <NavigationView>
        <Frame x:Name="ContentFrame" Margin="24">
            <ContentControl  />
        </Frame>
    </NavigationView>
    <TextBlock x:Name="AppTitle" Style="{StaticResource CaptionTextBlockStyle}" Text="{x:Bind appmodel:Package.Current.DisplayName}" IsHitTestVisible="False"/>
</Grid>