Files
ShrlAlgoToolkit/WPFluent.Gallery/Views/Pages/NavigationPage.xaml
2025-04-24 20:56:44 +08:00

424 lines
20 KiB
XML

<Page
x:Class="WPFluent.Gallery.Views.Pages.Navigation.NavigationPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:WPFluent.Gallery.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WPFluent.Gallery.Views.Pages.Navigation"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:models="clr-namespace:WPFluent.Gallery.Models"
xmlns:samples="clr-namespace:WPFluent.Gallery.Views.Pages.Samples"
xmlns:ui="https://github.com/ShrlAlgo/WPFluent"
mc:Ignorable="d"
controls:PageControlDocumentation.Show="False"
d:DataContext="{d:DesignInstance local:NavigationPage,
IsDesignTimeCreatable=False}"
Foreground="{DynamicResource TextFillColorPrimaryBrush}"
Title="NavigationPage"
ui:Design.Background="{DynamicResource ApplicationBackgroundBrush}"
ui:Design.Foreground="{DynamicResource TextFillColorPrimaryBrush}">
<ui:StackPanel Spacing="5">
<GroupBox Header="菜单">
<Menu FontSize="14">
<ui:MenuItem Header="文件" Icon="{ui:SymbolIcon DocumentSplitHint20}">
<MenuItem Header="新建" />
<MenuItem Header="新建窗口" />
<MenuItem Header="打开" />
<MenuItem Header="保存" />
<MenuItem Header="另存为" />
<Separator />
<MenuItem Header="退出" />
</ui:MenuItem>
<ui:MenuItem Header="编辑" Icon="{ui:SymbolIcon DocumentEdit20}">
<MenuItem Header="撤销" />
<Separator />
<MenuItem Header="剪切" />
<MenuItem Header="复制" />
<MenuItem Header="粘贴" />
<MenuItem IsEnabled="False" />
<Separator />
<MenuItem Header="Search with browser" />
<MenuItem Header="Find..." />
<MenuItem Header="Find next" />
<Separator />
<MenuItem Header="Select All" />
</ui:MenuItem>
<Separator />
<ui:MenuItem Icon="{ui:SymbolIcon TextBold20}" />
<ui:MenuItem Icon="{ui:SymbolIcon TextItalic20}" />
<ui:MenuItem Icon="{ui:SymbolIcon TextUnderline20}" />
</Menu>
</GroupBox>
<GroupBox>
<ui:TabView >
<ui:TabViewItem>
<ui:TabViewItem.Header>
<StackPanel Orientation="Horizontal">
<ui:SymbolIcon Margin="0,0,6,0" Symbol="XboxConsole24" />
<TextBlock Text="Hello" />
</StackPanel>
</ui:TabViewItem.Header>
<Grid>
<TextBlock Margin="12" Text="World" />
</Grid>
</ui:TabViewItem>
<ui:TabViewItem IsSelected="True">
<ui:TabViewItem.Header>
<StackPanel Orientation="Horizontal">
<ui:SymbolIcon Margin="0,0,6,0" Symbol="StoreMicrosoft16" />
<TextBlock Text="The cake" />
</StackPanel>
</ui:TabViewItem.Header>
<Grid>
<TextBlock Margin="12" Text="Is a lie." />
</Grid>
</ui:TabViewItem>
</ui:TabView>
</GroupBox>
<ui:NavigationView
MinHeight="300"
Margin="0"
IsBackButtonVisible="Auto"
IsPaneToggleVisible="True"
PaneDisplayMode="Left"
PaneTitle="Pane Title">
<ui:NavigationView.AutoSuggestBox>
<ui:AutoSuggestBox Margin="8,0,8,8" PlaceholderText="Search" />
</ui:NavigationView.AutoSuggestBox>
<ui:NavigationView.MenuItems>
<ui:NavigationViewItem
Content="Dashboard"
Icon="{ui:SymbolIcon Home24}"
TargetPageType="{x:Type samples:SamplePage1}" />
<ui:NavigationViewItem
Content="Items"
Icon="{ui:SymbolIcon Library24}"
TargetPageType="{x:Type samples:SamplePage2}" />
</ui:NavigationView.MenuItems>
<ui:NavigationView.FooterMenuItems>
<ui:NavigationViewItem
Content="Settings"
Icon="{ui:SymbolIcon Settings24}"
TargetPageType="{x:Type samples:SamplePage3}" />
</ui:NavigationView.FooterMenuItems>
<ui:NavigationView.Header>
<Border
Margin="8"
Background="{DynamicResource StripedBackgroundBrush}"
CornerRadius="4">
<TextBlock
Margin="24"
VerticalAlignment="Center"
FontWeight="Medium"
Foreground="{ui:ThemeResource TextFillColorSecondaryBrush}"
Text="NavigationView Header" />
</Border>
</ui:NavigationView.Header>
<ui:NavigationView.PaneHeader>
<Border
Margin="0,0,0,8"
Background="{DynamicResource StripedBackgroundBrush}"
CornerRadius="4">
<TextBlock
Margin="24"
VerticalAlignment="Center"
FontWeight="Medium"
Foreground="{ui:ThemeResource TextFillColorSecondaryBrush}"
Text="Pane Header" />
</Border>
</ui:NavigationView.PaneHeader>
<ui:NavigationView.PaneFooter>
<Border
Margin="0,8,0,0"
Background="{DynamicResource StripedBackgroundBrush}"
CornerRadius="4">
<TextBlock
Margin="24"
VerticalAlignment="Center"
FontWeight="Medium"
Foreground="{ui:ThemeResource TextFillColorSecondaryBrush}"
Text="Pane Footer" />
</Border>
</ui:NavigationView.PaneFooter>
</ui:NavigationView>
<ui:NavigationView
MinHeight="300"
Margin="0"
IsBackButtonVisible="Collapsed"
IsPaneToggleVisible="False"
PaneDisplayMode="LeftFluent">
<ui:NavigationView.MenuItems>
<ui:NavigationViewItem
Content="Dashboard"
Icon="{ui:SymbolIcon Home24}"
TargetPageType="{x:Type samples:SamplePage1}" />
<ui:NavigationViewItem
Content="Items"
Icon="{ui:SymbolIcon Library24}"
TargetPageType="{x:Type samples:SamplePage2}" />
</ui:NavigationView.MenuItems>
<ui:NavigationView.FooterMenuItems>
<ui:NavigationViewItem
Content="Settings"
Icon="{ui:SymbolIcon Settings24}"
TargetPageType="{x:Type samples:SamplePage3}" />
</ui:NavigationView.FooterMenuItems>
<ui:NavigationView.Header>
<Border
Margin="8"
Background="{DynamicResource StripedBackgroundBrush}"
CornerRadius="4">
<TextBlock
Margin="24"
VerticalAlignment="Center"
FontWeight="Medium"
Foreground="{ui:ThemeResource TextFillColorSecondaryBrush}"
Text="NavigationView Header" />
</Border>
</ui:NavigationView.Header>
<ui:NavigationView.PaneHeader>
<Border
Width="60"
Height="60"
Margin="0,0,0,8"
Background="{DynamicResource StripedBackgroundBrush}"
CornerRadius="4">
<TextBlock
Margin="0"
VerticalAlignment="Center"
FontWeight="Medium"
Foreground="{ui:ThemeResource TextFillColorSecondaryBrush}"
Text="Pane Header"
TextAlignment="Center"
TextWrapping="WrapWithOverflow" />
</Border>
</ui:NavigationView.PaneHeader>
<ui:NavigationView.PaneFooter>
<Border
Width="60"
Height="60"
Margin="0,8,0,0"
Background="{DynamicResource StripedBackgroundBrush}"
CornerRadius="4">
<TextBlock
Margin="0"
VerticalAlignment="Center"
FontWeight="Medium"
Foreground="{ui:ThemeResource TextFillColorSecondaryBrush}"
Text="Pane Footer"
TextAlignment="Center"
TextWrapping="WrapWithOverflow" />
</Border>
</ui:NavigationView.PaneFooter>
</ui:NavigationView>
<ui:NavigationView
MinHeight="300"
Margin="0"
IsBackButtonVisible="Auto"
IsPaneToggleVisible="False"
PaneDisplayMode="Top">
<ui:NavigationView.MenuItems>
<ui:NavigationViewItem
Content="Menu Item 1"
Icon="{ui:SymbolIcon Home24}"
TargetPageType="{x:Type samples:SamplePage1}">
<ui:NavigationViewItem.MenuItems>
<ui:NavigationViewItem Content="Menu SubItem 1" TargetPageType="{x:Type samples:SamplePage3}" />
<ui:NavigationViewItem Content="Menu SubItem 2" TargetPageType="{x:Type samples:SamplePage3}" />
</ui:NavigationViewItem.MenuItems>
</ui:NavigationViewItem>
<ui:NavigationViewItem
Content="Menu Item 2"
Icon="{ui:SymbolIcon AppFolder24}"
TargetPageType="{x:Type samples:SamplePage2}" />
<ui:NavigationViewItem
Content="Menu Item 3"
Icon="{ui:SymbolIcon BezierCurveSquare20}"
TargetPageType="{x:Type samples:SamplePage3}" />
<ui:NavigationViewItem
Content="Menu Item 4"
Icon="{ui:SymbolIcon Library24}"
TargetPageType="{x:Type samples:SamplePage1}" />
</ui:NavigationView.MenuItems>
<ui:NavigationView.FooterMenuItems>
<ui:NavigationViewItem Icon="{ui:SymbolIcon Settings24}" TargetPageType="{x:Type samples:SamplePage3}" />
</ui:NavigationView.FooterMenuItems>
<ui:NavigationView.AutoSuggestBox>
<ui:AutoSuggestBox
MinWidth="140"
Margin="0"
PlaceholderText="Search" />
</ui:NavigationView.AutoSuggestBox>
<ui:NavigationView.PaneHeader>
<Border
Margin="8,0"
VerticalAlignment="Stretch"
Background="{DynamicResource StripedBackgroundBrush}"
CornerRadius="4">
<TextBlock
Margin="24,0"
VerticalAlignment="Center"
FontWeight="Medium"
Foreground="{ui:ThemeResource TextFillColorSecondaryBrush}"
Text="Pane Header" />
</Border>
</ui:NavigationView.PaneHeader>
<ui:NavigationView.PaneFooter>
<Border
Margin="8,0"
VerticalAlignment="Stretch"
Background="{DynamicResource StripedBackgroundBrush}"
CornerRadius="4">
<TextBlock
Margin="24,0"
VerticalAlignment="Center"
FontWeight="Medium"
Foreground="{ui:ThemeResource TextFillColorSecondaryBrush}"
Text="Pane Footer" />
</Border>
</ui:NavigationView.PaneFooter>
<ui:NavigationView.Header>
<Border
Margin="8"
Background="{DynamicResource StripedBackgroundBrush}"
CornerRadius="4">
<TextBlock
Margin="24"
VerticalAlignment="Center"
FontWeight="Medium"
Foreground="{ui:ThemeResource TextFillColorSecondaryBrush}"
Text="NavigationView Header" />
</Border>
</ui:NavigationView.Header>
</ui:NavigationView>
<ui:NavigationView
MinHeight="300"
Margin="0"
IsBackButtonVisible="Auto"
IsPaneToggleVisible="False"
PaneDisplayMode="Bottom">
<ui:NavigationView.MenuItems>
<ui:NavigationViewItem
Content="Menu Item 1"
Icon="{ui:SymbolIcon Home24}"
TargetPageType="{x:Type samples:SamplePage1}" />
<ui:NavigationViewItem
Content="Menu Item 2"
Icon="{ui:SymbolIcon AppFolder24}"
TargetPageType="{x:Type samples:SamplePage2}" />
<ui:NavigationViewItem
Content="Menu Item 3"
Icon="{ui:SymbolIcon BezierCurveSquare20}"
TargetPageType="{x:Type samples:SamplePage3}" />
<ui:NavigationViewItem
Content="Menu Item 4"
Icon="{ui:SymbolIcon Library24}"
TargetPageType="{x:Type samples:SamplePage1}" />
</ui:NavigationView.MenuItems>
<ui:NavigationView.FooterMenuItems>
<ui:NavigationViewItem Icon="{ui:SymbolIcon Settings24}" TargetPageType="{x:Type samples:SamplePage3}" />
</ui:NavigationView.FooterMenuItems>
<ui:NavigationView.AutoSuggestBox>
<ui:AutoSuggestBox
MinWidth="140"
Margin="0"
PlaceholderText="Search" />
</ui:NavigationView.AutoSuggestBox>
<ui:NavigationView.PaneHeader>
<Border
Margin="8,0"
VerticalAlignment="Stretch"
Background="{DynamicResource StripedBackgroundBrush}"
CornerRadius="4">
<TextBlock
Margin="24,0"
VerticalAlignment="Center"
FontWeight="Medium"
Foreground="{ui:ThemeResource TextFillColorSecondaryBrush}"
Text="Pane Header" />
</Border>
</ui:NavigationView.PaneHeader>
<ui:NavigationView.PaneFooter>
<Border
Margin="8,0"
VerticalAlignment="Stretch"
Background="{DynamicResource StripedBackgroundBrush}"
CornerRadius="4">
<TextBlock
Margin="24,0"
VerticalAlignment="Center"
FontWeight="Medium"
Foreground="{ui:ThemeResource TextFillColorSecondaryBrush}"
Text="Pane Footer" />
</Border>
</ui:NavigationView.PaneFooter>
<ui:NavigationView.Header>
<Border
Margin="8"
Background="{DynamicResource StripedBackgroundBrush}"
CornerRadius="4">
<TextBlock
Margin="24"
VerticalAlignment="Center"
FontWeight="Medium"
Foreground="{ui:ThemeResource TextFillColorSecondaryBrush}"
Text="NavigationView Header" />
</Border>
</ui:NavigationView.Header>
</ui:NavigationView>
<TabControl Margin="0,8,0,0">
<TabItem>
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<ui:SymbolIcon Margin="0,0,6,0" Symbol="XboxConsole24" />
<TextBlock Text="Hello" />
</StackPanel>
</TabItem.Header>
<Grid>
<TextBlock Margin="12" Text="World" />
</Grid>
</TabItem>
<TabItem IsSelected="True">
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<ui:SymbolIcon Margin="0,0,6,0" Symbol="StoreMicrosoft16" />
<TextBlock Text="The cake" />
</StackPanel>
</TabItem.Header>
<Grid>
<TextBlock Margin="12" Text="Is a lie." />
</Grid>
</TabItem>
</TabControl>
<Button
HorizontalAlignment="Center"
VerticalAlignment="Center"
Command="{Binding NavigateForwardCommand}"
CommandParameter="{x:Type samples:MultilevelNavigationSamplePage1}"
Content="Navigate to the first page"
FontSize="24" />
<ui:BreadcrumbBar Command="{Binding ViewModel.StringSelectedCommand, Mode=OneWay}" ItemsSource="{Binding ViewModel.Strings, Mode=OneWay}" />
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ui:BreadcrumbBar
x:Name="BreadcrumbBar2"
Grid.Column="0"
Command="{Binding ViewModel.FolderSelectedCommand, Mode=OneWay}"
ItemsSource="{Binding ViewModel.Folders, Mode=OneWay}">
<ui:BreadcrumbBar.ItemTemplate>
<DataTemplate DataType="{x:Type models:Folder}">
<TextBlock Text="{Binding Name, Mode=OneTime}" />
</DataTemplate>
</ui:BreadcrumbBar.ItemTemplate>
</ui:BreadcrumbBar>
<Button
Grid.Column="1"
Command="{Binding ViewModel.ResetFoldersCommand, Mode=OneWay}"
Content="Reset" />
</Grid>
</ui:StackPanel>
</Page>