using System.Windows.Controls; using WPFluent.Gallery.Views; using WPFluent.Gallery.Views.Pages; using WPFluent.Gallery.Views.Pages.Collections; using WPFluent.Gallery.Views.Pages.DesignGuidance; using WPFluent.Gallery.Views.Pages.Navigation; using WPFluent.Gallery.Views.Pages.Windows; namespace WPFluent.Gallery.ViewModels.Windows; public partial class MainWindowViewModel : ViewModel { [ObservableProperty] private string applicationTitle = "WPF UI Gallery"; [ObservableProperty] private ObservableCollection menuItems = [ new NavigationViewItem("Home", SymbolRegular.Home24, typeof(DashboardPage)), new NavigationViewItem() { Content = "Design guidance", Icon = new SymbolIcon { Symbol = SymbolRegular.DesignIdeas24 }, MenuItemsSource = new object[] { new NavigationViewItem("Typography", SymbolRegular.TextFont24, typeof(TypographyPage)), new NavigationViewItem("Icons", SymbolRegular.Diversity24, typeof(IconsPage)), new NavigationViewItem("Colors", SymbolRegular.Color24, typeof(ColorsPage)), }, }, //new NavigationViewItem("All samples", SymbolRegular.List24, typeof(AllControlsPage)), new NavigationViewItemSeparator(), new NavigationViewItem("Basic Input", SymbolRegular.CheckboxChecked24, typeof(BasicInputPage)), new NavigationViewItem { Content = "Collections", Icon = new SymbolIcon { Symbol = SymbolRegular.Table24 }, TargetPageType = typeof(CollectionsPage), }, new NavigationViewItem("Date & time", SymbolRegular.CalendarClock24, typeof(DateAndTimePage)), new NavigationViewItem("Dialogs & flyouts", SymbolRegular.Chat24, typeof(DialogsAndFlyoutsPage)), #if DEBUG new NavigationViewItem("Layout", SymbolRegular.News24, typeof(LayoutPage)), #endif new NavigationViewItem { Content = "Media", Icon = new SymbolIcon { Symbol = SymbolRegular.PlayCircle24 }, TargetPageType = typeof(MediaPage), }, new NavigationViewItem("Navigation", SymbolRegular.Navigation24, typeof(NavigationPage)), new NavigationViewItem( "Status & info", SymbolRegular.ChatBubblesQuestion24, typeof(StatusAndInfoPage) ), new NavigationViewItem("Text", SymbolRegular.DrawText24, typeof(TextPage)), new NavigationViewItem("System", SymbolRegular.Desktop24, typeof(OpSystemPage)), new NavigationViewItem("Windows", SymbolRegular.WindowApps24, typeof(WindowsPage)), ]; [ObservableProperty] private ObservableCollection footerMenuItems = [ new NavigationViewItem("Settings", SymbolRegular.Settings24, typeof(SettingsPage)), ]; [ObservableProperty] private ObservableCollection trayMenuItems = [ new WPFluent.Controls.MenuItem { Header = "Home", Tag = "tray_home" }, new WPFluent.Controls.MenuItem { Header = "Close", Tag = "tray_close" }, ]; }