using Prism.Commands; using Prism.Events; using Prism.Ioc; using Prism.Mvvm; using Prism.Regions; using Prism.Services.Dialogs; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using TeamAAS_VP.Events; using TeamAAS_VP.Core; using TeamAAS_VP.Models; namespace TeamAAS_VP.ViewModels { public class ProductsViewModel : BindableBase { IRegionManager _regionManager; IEventAggregator _eventAggregator; IContainerProvider _container; IDialogService _dialogService; #region 属性 private ObservableCollection _Products; /// /// 产品列表 /// public ObservableCollection Products { get { return _Products; } set { SetProperty(ref _Products,value); } } private ProductModel _SelectProduct; /// /// 选中的产品 /// public ProductModel SelectProduct { get { return _SelectProduct; } set { SetProperty(ref _SelectProduct, value); } } private Management _management; public Management management { get { return _management; } set { SetProperty(ref _management, value); } } #endregion #region 命令 private DelegateCommand _LoadedCommand; public DelegateCommand LoadedCommand => _LoadedCommand ?? (_LoadedCommand = new DelegateCommand(ExecuteLoadedCommand)); #endregion #region 事件 #endregion public ProductsViewModel(IRegionManager regionManager, IEventAggregator ea, IContainerProvider container, IDialogService dialogService) { _regionManager = regionManager; _eventAggregator = ea; _container = container; _dialogService = dialogService; management= _container.Resolve(); Products = management.Products; //订阅权限登录事件 _eventAggregator.GetEvent().Subscribe(LoginChange); } #region 方法 bool isFirstShow = false; void ExecuteLoadedCommand() { if (!isFirstShow) { _regionManager.RequestNavigate("ProductRegionContext", "ProductHome"); isFirstShow = true; } } #endregion private void LoginChange(Models.User user) { } } }