using DM_Weight.Common; using DM_Weight.Models; using DM_Weight.util; using Prism.Commands; using Prism.Common; using Prism.Mvvm; using Prism.Regions; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DM_Weight.ViewModels { public class SettingMainWindowViewModel : BindableBase, INavigationAware,IRegionMemberLifetime { //设置页面数据集 private ObservableCollection _settingPages; public ObservableCollection SettingPages { get => _settingPages; set=>SetProperty(ref _settingPages, value); } //默认加载页面 string defaultView = string.Empty; IRegionManager _regionManager; public SettingMainWindowViewModel(IRegionManager regionManager) { this._regionManager=regionManager; } //选中事件 public DelegateCommand NavigateCommand { get => new DelegateCommand(navigateAction); } public bool KeepAlive => false; private void navigateAction(string obj) { if(obj==null||string.IsNullOrWhiteSpace(obj)) { return; } defaultView = obj; _regionManager.RequestNavigate(PrismManager.SettingViewRegionName, defaultView); } public bool IsNavigationTarget(NavigationContext navigationContext) { return true; } public void OnNavigatedFrom(NavigationContext navigationContext) { } public void OnNavigatedTo(NavigationContext navigationContext) { if(SettingPages is null|| SettingPages.Count<=0) { SettingPages=new ObservableCollection(SqlSugarHelper.Db.Queryable().ToList()); if(SettingPages.Count>0) { if(string.IsNullOrEmpty(defaultView)) { defaultView = SettingPages[0].ViewName; } _regionManager.RequestNavigate(PrismManager.SettingViewRegionName,defaultView); } } } } }