如何设置默认NavigationUI的样式

时间:2018-11-18 20:42:44

标签: c# wpf navigation

我正在Frame中使用Window来显示内容,并使用

添加了导航
<Frame NavigationUIVisibility="Visible" Name="FrameContent" VerticalAlignment="Stretch" Margin="0,34,-0.8,0.4" Grid.RowSpan="2"/>

Window.xsml.cs

FrameContent.Navigate(new HomeView());

导航栏如下所示:

enter image description here

是否可以更改此栏的默认外观?还是创建一个新的唯一选择?

2 个答案:

答案 0 :(得分:2)

在WPF应用中,我创建了自己的应用,最简单的版本是:

<Grid VerticalAlignment="Top" Height="50" Background="DarkGray">
    <StackPanel Orientation="Horizontal">
         <Button Content="Back" Click="Back_Btn"/>
         <Button Content="Next" Click="Next_Btn"/>
     </StackPanel>
</Grid>

在后面的代码中:

private void Next_Btn(object sender, RoutedEventArgs e)
{
   if (this.NavigationService.CanGoForward)
       NavigationService.GoForward();
    else
        NavigationService.Navigate(new HomeView());
}

private void Back_Btn(object sender, RoutedEventArgs e)
{
    if (this.NavigationService.CanGoBack)
        NavigationService.GoBack();
    else
        NavigationService.Navigate(new HomeView());
}

例如,如果需要,您可以使用NuGet的materialdesign包来设计按钮。

MVVM版本更复杂。

答案 1 :(得分:2)

有一种方法可以更改栏的默认外观。

  1. 打开框架的xaml文件。
  2. 打开文档大纲窗口。 (从Visual Studio工具栏中:视图=>其他Windows =>文档大纲)
  3. 在“文档大纲”窗口中,右键单击框架以显示上下文菜单。
  4. 从上下文菜单中选择:编辑模板=>编辑副本...
  5. 在“创建样式资源”窗口上按“确定”。
  6. 根据自己的喜好更改Window.Resources的内容。