XAML 中 Windows 8 App 的持久导航栏

Persistent Navigation Bar in XAML for Windows 8 App

如何实现持久导航栏。基本上是一个即使通过右键单击操作也无法关闭的应用程序栏。在查看 windows 商店应用程序在 windows 8.1.

中的更改时,MS 在本文 (https://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn440584.aspx ) when discussing the flat navigation in the calculator app and also here ( http://blogs.windows.com/bloggingwindows/2014/05/13/windows-store-refresh-makes-it-easier-to-find-apps/) 中提到了这一点

阅读您的问题后,我开始谷歌搜索,但找不到任何已经可用的应用程序栏。据我所知,没有什么比持久的应用程序栏更好的了。 IsSticky 属性 在某种程度上确实有帮助,但仍然可以通过右键单击将其关闭。

但是你仍然可以自己定制...

至于例如。您在问题中提到了 this page

您可以自己实现相同的功能。

这是我的实现,只是为了让您入门...

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

    <Grid Background="White">
        <Grid.RowDefinitions>
            <RowDefinition Height="80"/>
            <RowDefinition Height="120"/>
            <RowDefinition />
        </Grid.RowDefinitions>

        <Grid Grid.Row="0" Background="Green">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition />
                <ColumnDefinition />
                <ColumnDefinition />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>

            <StackPanel Grid.Column="0" Orientation="Horizontal">
                <Rectangle Width="80" Height="80">
                    <Rectangle.Fill>
                        <ImageBrush ImageSource="Assets/windows-image.jpg" />    
                    </Rectangle.Fill>
                </Rectangle>

                <TextBlock Text="Home" FontSize="40" VerticalAlignment="Center" HorizontalAlignment="Center"/>
            </StackPanel>
            <TextBlock Text="Top Charts" Grid.Column="1" FontSize="40" VerticalAlignment="Center" HorizontalAlignment="Center"/>
            <TextBlock Text="Categories" Grid.Column="2" FontSize="40" VerticalAlignment="Center" HorizontalAlignment="Center"/>
            <TextBlock Text="Collection" Grid.Column="3" FontSize="40" VerticalAlignment="Center" HorizontalAlignment="Center"/>
            <TextBlock Text="Accounts" Grid.Column="4" FontSize="40" VerticalAlignment="Center" HorizontalAlignment="Center"/>
        </Grid>

        <Grid Grid.Row="1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="100" />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>

            <Rectangle Grid.Column="0" Width="110" Height="110">
                <Rectangle.Fill>
                    <ImageBrush ImageSource="Assets/back.png" />
                </Rectangle.Fill>
            </Rectangle>

            <TextBlock  Margin="10, 0, 0, 0" Text="Store" FontSize="70" Grid.Column="1" Foreground="Black" HorizontalAlignment="Left" VerticalAlignment="Center"/>
        </Grid>

        <Grid Grid.Row="2" >
            <TextBlock Text="Your Content Here" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="100" Foreground="Black"/>
        </Grid>

    </Grid>
</Page>

它产生以下输出:

我没有研究过相应的事件处理程序,希望您可以根据需要进行操作。

基本建议: 不要试图对已经可用的设计模板进行太多更改。坚持它们,只应用所需的更改。

这是您的操作方法。

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <StackPanel Grid.Row="0" x:Name="NavigationPart" Orientation="Horizontal">
        <Button Content="Home" />
        <Button Content="Products" />
        <Button Content="Contact" />
    </StackPanel>
    <Frame Grid.Row="1" x:Name="ContentPart" />
</Grid>

祝你好运!