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()); }