using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Xml.Linq; using WPFWCSDemo.Models; using WPFWCSDemo.Utilities; using WPFWCSDemo.ViewModels.Settings; using WPFWCSDemo.Views.Settings; namespace WPFWCSDemo.ViewModels { public partial class SettingViewModel : ObservableObject { private readonly Frame frame; public SettingViewModel(Frame navigationFrame) { frame = navigationFrame; Menu = new ObservableCollection(); CreateSettingMenu(); SkinViewModel.GetFrame(frame); frame.Navigate(new Uri($"Views\\Settings\\SystemView.xaml", UriKind.Relative)); } /// /// 菜单选择项 /// [ObservableProperty] ObservableCollection _menu; void CreateSettingMenu() { Menu.Add(new SettingMenu() { Icon = "Pencil", Title = "个性化", NameSpace = "SkinView"/*nameof(SkinView)*/ }); Menu.Add(new SettingMenu() { Icon = "Tools", Title = "系统设置", NameSpace = "SystemView" }); Menu.Add(new SettingMenu() { Icon = "ExclamationThick", Title = "关于", NameSpace = "AboutView" }); } /// /// 切换导航 /// /// [RelayCommand] void SettingNavigate(SettingMenu menu) { try { frame.Navigate(new Uri($"Views\\Settings\\{menu.NameSpace}.xaml", UriKind.Relative)); } catch { } } } }