整理控件库
This commit is contained in:
@@ -4,33 +4,31 @@
|
||||
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:i18n="http://schemas.lepo.co/i18n/2022/xaml"
|
||||
xmlns:local="clr-namespace:WPFluent.Gallery.Views.Windows"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:tray="https://github.com/ShrlAlgo/WPFluent/tray"
|
||||
xmlns:ui="https://github.com/ShrlAlgo/WPFluent"
|
||||
Title="{Binding ViewModel.ApplicationTitle, Mode=OneWay}"
|
||||
Width="1450"
|
||||
Height="802"
|
||||
Height="800"
|
||||
MinWidth="900"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance local:MainWindow,
|
||||
IsDesignTimeCreatable=False}"
|
||||
d:DesignHeight="650"
|
||||
d:DesignWidth="1000"
|
||||
ui:Design.Background="{DynamicResource ApplicationBackgroundBrush}"
|
||||
ui:Design.Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
ExtendsContentIntoTitleBar="True"
|
||||
SizeChanged="MainWindow_OnSizeChanged"
|
||||
Title="{Binding ViewModel.ApplicationTitle, Mode=OneWay}"
|
||||
|
||||
|
||||
WindowBackdropType="Mica"
|
||||
WindowCornerPreference="Default"
|
||||
WindowStartupLocation="CenterScreen"
|
||||
mc:Ignorable="d">
|
||||
<ui:FluentWindow.InputBindings>
|
||||
WindowStartupLocation="CenterScreen">
|
||||
<!--<ui:FluentWindow.InputBindings>
|
||||
<KeyBinding
|
||||
Key="F"
|
||||
Command="{Binding ElementName=AutoSuggestBox, Path=FocusCommand}"
|
||||
Modifiers="Control" />
|
||||
</ui:FluentWindow.InputBindings>
|
||||
</ui:FluentWindow.InputBindings>-->
|
||||
<!--<ui:FluentWindow.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
@@ -39,67 +37,90 @@
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</ui:FluentWindow.Resources>-->
|
||||
<Grid>
|
||||
<ui:NavigationView
|
||||
x:Name="NavigationView"
|
||||
Padding="42,0,42,0"
|
||||
BreadcrumbBar="{Binding ElementName=BreadcrumbBar}"
|
||||
EnableDebugMessages="True"
|
||||
FooterMenuItemsSource="{Binding ViewModel.FooterMenuItems, Mode=OneWay}"
|
||||
FrameMargin="0"
|
||||
IsBackButtonVisible="Visible"
|
||||
IsPaneToggleVisible="True"
|
||||
MenuItemsSource="{Binding ViewModel.MenuItems, Mode=OneWay}"
|
||||
OpenPaneLength="310"
|
||||
PaneClosed="NavigationView_OnPaneClosed"
|
||||
PaneDisplayMode="Left"
|
||||
PaneOpened="NavigationView_OnPaneOpened"
|
||||
SelectionChanged="OnNavigationSelectionChanged"
|
||||
TitleBar="{Binding ElementName=TitleBar, Mode=OneWay}"
|
||||
Transition="FadeInWithSlide">
|
||||
<ui:NavigationView.Header>
|
||||
<StackPanel Margin="42,32,42,20">
|
||||
<ui:BreadcrumbBar x:Name="BreadcrumbBar" />
|
||||
<controls:PageControlDocumentation Margin="0,10,0,0" NavigationView="{Binding ElementName=NavigationView}" />
|
||||
</StackPanel>
|
||||
</ui:NavigationView.Header>
|
||||
<ui:NavigationView.AutoSuggestBox>
|
||||
<ui:AutoSuggestBox x:Name="AutoSuggestBox" PlaceholderText="Search">
|
||||
<ui:AutoSuggestBox.Icon>
|
||||
<ui:IconSourceElement>
|
||||
<ui:SymbolIconSource Symbol="Search24" />
|
||||
</ui:IconSourceElement>
|
||||
</ui:AutoSuggestBox.Icon>
|
||||
</ui:AutoSuggestBox>
|
||||
</ui:NavigationView.AutoSuggestBox>
|
||||
<ui:NavigationView.ContentOverlay>
|
||||
<Grid>
|
||||
<ui:SnackbarPresenter x:Name="SnackbarPresenter" />
|
||||
</Grid>
|
||||
</ui:NavigationView.ContentOverlay>
|
||||
</ui:NavigationView>
|
||||
|
||||
<ContentPresenter x:Name="RootContentDialog" Grid.Row="0" />
|
||||
|
||||
<DockPanel>
|
||||
<ui:TitleBar
|
||||
x:Name="TitleBar"
|
||||
Title="{Binding ViewModel.ApplicationTitle}"
|
||||
Grid.Row="0"
|
||||
CloseWindowByDoubleClickOnIcon="True">
|
||||
CloseWindowByDoubleClickOnIcon="True"
|
||||
DockPanel.Dock="Top" Title="{Binding ViewModel.ApplicationTitle, Mode=OneWay}">
|
||||
<ui:TitleBar.Icon>
|
||||
<ui:ImageIcon Source="pack://application:,,,/WPFluent.Gallery;component/wpfui.png" />
|
||||
</ui:TitleBar.Icon>
|
||||
</ui:TitleBar>
|
||||
<TabControl x:Name="NavigationView" Margin="5">
|
||||
<TabItem Header="Icons">
|
||||
<Frame Source="pack://application:,,,/WPFluent.Gallery;component/Views/Pages/DesignGuidance/IconsPage.xaml" />
|
||||
</TabItem>
|
||||
<TabItem Header="Colors">
|
||||
<ScrollViewer>
|
||||
<Frame Source="pack://application:,,,/WPFluent.Gallery;component/Views/Pages/DesignGuidance/ColorsPage.xaml" />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
<TabItem Header="Typography">
|
||||
<ScrollViewer>
|
||||
<Frame Source="pack://application:,,,/WPFluent.Gallery;component/Views/Pages/DesignGuidance/TypographyPage.xaml" />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
|
||||
<!--<tray:NotifyIcon
|
||||
Grid.Row="0"
|
||||
FocusOnLeftClick="True"
|
||||
Icon="pack://application:,,,/WPFluent.Gallery;component/wpfui.png"
|
||||
MenuOnRightClick="True"
|
||||
TooltipText="WPF UI Gallery">
|
||||
<tray:NotifyIcon.Menu>
|
||||
<ContextMenu ItemsSource="{Binding ViewModel.TrayMenuItems, Mode=OneWay}" />
|
||||
</tray:NotifyIcon.Menu>
|
||||
</tray:NotifyIcon>-->
|
||||
</Grid>
|
||||
</ui:FluentWindow>
|
||||
<TabItem Header="BasicInput">
|
||||
<ScrollViewer>
|
||||
<Frame Source="pack://application:,,,/WPFluent.Gallery;component/Views/Pages/BasicInputPage.xaml" />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
|
||||
<TabItem Header="Collections">
|
||||
<ScrollViewer>
|
||||
<Frame Source="pack://application:,,,/WPFluent.Gallery;component/Views/Pages/CollectionsPage.xaml" />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
<TabItem Header="DateAndTime">
|
||||
<ScrollViewer>
|
||||
<Frame Source="pack://application:,,,/WPFluent.Gallery;component/Views/Pages/DateAndTimePage.xaml" />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
|
||||
<TabItem Header="DialogsAndFlyouts">
|
||||
<ScrollViewer>
|
||||
<Frame Source="pack://application:,,,/WPFluent.Gallery;component/Views/Pages/DialogsAndFlyoutsPage.xaml" />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
<TabItem Header="Layout">
|
||||
<ScrollViewer>
|
||||
<Frame Source="pack://application:,,,/WPFluent.Gallery;component/Views/Pages/LayoutPage.xaml" />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
<TabItem Header="Media">
|
||||
<ScrollViewer>
|
||||
<Frame Source="pack://application:,,,/WPFluent.Gallery;component/Views/Pages/MediaPage.xaml" />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
<TabItem Header="Navigation">
|
||||
<ScrollViewer>
|
||||
<Frame Source="pack://application:,,,/WPFluent.Gallery;component/Views/Pages/NavigationPage.xaml" />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
<TabItem Header="OpSystem">
|
||||
<ScrollViewer>
|
||||
<Frame Source="pack://application:,,,/WPFluent.Gallery;component/Views/Pages/OpSystemPage.xaml" />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
<TabItem Header="Settings">
|
||||
<ScrollViewer>
|
||||
<Frame Source="pack://application:,,,/WPFluent.Gallery;component/Views/Pages/SettingsPage.xaml" />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
<TabItem Header="StatusAndInfo">
|
||||
<ScrollViewer>
|
||||
<Frame Source="pack://application:,,,/WPFluent.Gallery;component/Views/Pages/StatusAndInfoPage.xaml" />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
<TabItem Header="Text">
|
||||
<ScrollViewer>
|
||||
<Frame Source="pack://application:,,,/WPFluent.Gallery;component/Views/Pages/TextPage.xaml" />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
|
||||
<!--<ContentPresenter x:Name="RootContentDialog" Grid.Row="0" />-->
|
||||
|
||||
</DockPanel>
|
||||
</ui:FluentWindow>
|
||||
@@ -3,86 +3,17 @@
|
||||
// Copyright (C) Leszek Pomianowski and WPF UI Contributors.
|
||||
// All Rights Reserved.
|
||||
|
||||
using WPFluent.Controls;
|
||||
using WPFluent.Gallery.Services.Contracts;
|
||||
using WPFluent.Gallery.ViewModels.Windows;
|
||||
using WPFluent.Gallery.Views.Pages;
|
||||
|
||||
namespace WPFluent.Gallery.Views.Windows;
|
||||
|
||||
public partial class MainWindow : IWindow
|
||||
public partial class MainWindow
|
||||
{
|
||||
public MainWindow(
|
||||
MainWindowViewModel viewModel,
|
||||
INavigationService navigationService,
|
||||
IServiceProvider serviceProvider,
|
||||
ISnackbarService snackbarService,
|
||||
IContentDialogService contentDialogService
|
||||
)
|
||||
public MainWindow()
|
||||
{
|
||||
//适应当前系统的主题
|
||||
//Appearance.SystemThemeWatcher.Watch(this);
|
||||
|
||||
ViewModel = viewModel;
|
||||
DataContext = this;
|
||||
|
||||
ViewModel = new MainWindowViewModel();
|
||||
DataContext = ViewModel;
|
||||
InitializeComponent();
|
||||
|
||||
snackbarService.SetSnackbarPresenter(SnackbarPresenter);
|
||||
navigationService.SetNavigationControl(NavigationView);
|
||||
contentDialogService.SetDialogHost(RootContentDialog);
|
||||
}
|
||||
|
||||
public MainWindowViewModel ViewModel { get; }
|
||||
|
||||
private bool _isUserClosedPane;
|
||||
|
||||
private bool _isPaneOpenedOrClosedFromCode;
|
||||
|
||||
private void OnNavigationSelectionChanged(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (sender is not WPFluent.Controls.NavigationView navigationView)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
NavigationView.SetCurrentValue(
|
||||
NavigationView.HeaderVisibilityProperty,
|
||||
navigationView.SelectedItem?.TargetPageType != typeof(DashboardPage)
|
||||
? Visibility.Visible
|
||||
: Visibility.Collapsed
|
||||
);
|
||||
}
|
||||
|
||||
private void MainWindow_OnSizeChanged(object sender, SizeChangedEventArgs e)
|
||||
{
|
||||
if (_isUserClosedPane)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_isPaneOpenedOrClosedFromCode = true;
|
||||
NavigationView.SetCurrentValue(NavigationView.IsPaneOpenProperty, e.NewSize.Width > 1200);
|
||||
_isPaneOpenedOrClosedFromCode = false;
|
||||
}
|
||||
|
||||
private void NavigationView_OnPaneOpened(NavigationView sender, RoutedEventArgs args)
|
||||
{
|
||||
if (_isPaneOpenedOrClosedFromCode)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_isUserClosedPane = false;
|
||||
}
|
||||
|
||||
private void NavigationView_OnPaneClosed(NavigationView sender, RoutedEventArgs args)
|
||||
{
|
||||
if (_isPaneOpenedOrClosedFromCode)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_isUserClosedPane = true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user