添加项目文件。
This commit is contained in:
71
WPFWCSDemo/ViewModels/Settings/SettingViewModel.cs
Normal file
71
WPFWCSDemo/ViewModels/Settings/SettingViewModel.cs
Normal file
@@ -0,0 +1,71 @@
|
||||
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<SettingMenu>();
|
||||
CreateSettingMenu();
|
||||
|
||||
SkinViewModel.GetFrame(frame);
|
||||
|
||||
frame.Navigate(new Uri($"Views\\Settings\\SystemView.xaml", UriKind.Relative));
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 菜单选择项
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
ObservableCollection<SettingMenu> _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" });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 切换导航
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
[RelayCommand]
|
||||
void SettingNavigate(SettingMenu menu)
|
||||
{
|
||||
try
|
||||
{
|
||||
frame.Navigate(new Uri($"Views\\Settings\\{menu.NameSpace}.xaml", UriKind.Relative));
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user