不需要的导航栏WPF

时间:2018-05-05 16:08:06

标签: c# wpf xaml

我正在开发一些带有主窗口和一些页面的WPF应用程序,一些奇怪的事发生在我身上,“突然”当我从第1页移到第2页时,这个工具栏将自己添加到了我的窗口,

我的问题:这是从哪里来的?如何删除/给它更好的设计,我的意思是这个工具栏的源代码在哪里

这是默认的吗?

enter image description here

这是我的窗口类def:

<Window x:Class="Tool.MainWindow"
        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:local="clr-namespace:Tool"
         xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
        mc:Ignorable="d"       
        ResizeMode="CanResizeWithGrip"
        MinWidth="600"
        MinHeight="500"
        Title="Preparation Tool" Height="600" Width="1080" Icon="icon.ico" Foreground="White" >

2 个答案:

答案 0 :(得分:3)

您可以轻松隐藏:

<Frame  NavigationUIVisibility="Hidden"

但是你应该使用contentcontrol而不是frame和usercontrols而不是pages。

答案 1 :(得分:1)

  

这是从哪里来的?如何删除它?

它是Frame控件中的内置导航镶边。 根据Microsoft文档,当Frame使用自己的日记时,可以看到导航镶边(请参阅JournalOwnership)。

如果您不想要导航镶边,只需将框架的NavigationUIVisibility属性设置为Hidden

<Frame NavigationUIVisibility="Hidden" />

如果您不想要当前Frame的历史导航管理,则可以将JournalOwnership的{​​{1}}属性设置为Frame。这使您的UsesParentJournal在内容树中使用下一个可用导航主机的日志(如果可用)。否则,不会为Frame维护导航历史记录。

Frame
  

或者给它一个更好的设计?我的意思是这个工具栏的源代码在哪里?

在Visual Studio(或我喜欢用于UI设计的Visual Studio Blend)中,只需右键单击<Frame JournalOwnership="UsesParentJournal" /> ,然后选择编辑模板&gt;编辑副本并将模板的副本放在Frame中。然后你可以修改它的关键是 FrameNavChromeTemplateKey 的模板。

  

这是默认的吗?

P.S。不要忘记,当您设置ResourceDictionaryNavigationUIVisibility="Hidden"时,JournalOwnership="OwnsJournal"本身的历史记录管理仍然可用,您可以使用下一个/上一个鼠标按钮等命令在页面之间导航。