Ejemplo n.º 1
0
 public NTMinerFileSelectViewModel(Action <NTMinerFileViewModel> onOk)
 {
     OnOk            = onOk;
     _selectedResult = null;
     _ntminerFileVms = new List <NTMinerFileViewModel>();
     // 因为NTMinerFiles列表是异步初始化的,下面填充几个空对象的目的是解决WPFpopup的某个BUG,否则第一次打开popup的时候位置不对。
     for (int i = 0; i < 7; i++)
     {
         _ntminerFileVms.Add(NTMinerFileViewModel.Empty);
     }
     RpcRoot.OfficialServer.FileUrlService.GetNTMinerFilesAsync(NTMinerAppType.MinerClient, (ntminerFiles) => {
         NTMinerFileVms = (ntminerFiles ?? new List <NTMinerFileData>()).OrderByDescending(a => a.GetVersion()).Select(a => new NTMinerFileViewModel(a)).ToList();
     });
 }
 public NTMinerFileSelectViewModel(Action <NTMinerFileViewModel> onOk)
 {
     OnOk            = onOk;
     _selectedResult = null;
     _ntminerFileVms = new List <NTMinerFileViewModel>();
     // 因为NTMinerFiles列表是异步初始化的,下面填充几个空对象的目的是解决WPFpopup的某个BUG,否则第一次打开popup的时候位置不对。
     for (int i = 0; i < 7; i++)
     {
         _ntminerFileVms.Add(NTMinerFileViewModel.Empty);
     }
     VirtualRoot.BuildEventPath <NTMinerFileSetInitedEvent>("开源矿工程序版本文件集初始化后刷新Vm内存", LogEnum.DevConsole, this.GetType(), PathPriority.Normal, path: message => {
         var ntminerFiles = MinerStudioRoot.ReadOnlyNTMinerFileSet.AsEnumerable().Where(a => a.AppType == NTMinerAppType.MinerClient);
         NTMinerFileVms   = ntminerFiles.OrderByDescending(a => a.GetVersion()).Select(a => new NTMinerFileViewModel(a)).ToList();
     });
     // 触发从远程加载数据的逻辑
     VirtualRoot.Execute(new RefreshNTMinerFileSetCommand());
 }