private void KernelOutputFilterDataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e) { DataGrid dg = (DataGrid)sender; if (dg.SelectedItem != null) { KernelOutputFilterViewModel kernelOutputFilterVm = (KernelOutputFilterViewModel)dg.SelectedItem; kernelOutputFilterVm.Edit.Execute(null); } }
private KernelOutputFilterViewModels() { #if DEBUG Write.Stopwatch.Restart(); #endif VirtualRoot.BuildEventPath <ServerContextReInitedEvent>("ServerContext刷新后刷新VM内存", LogEnum.DevConsole, action: message => { _dicById.Clear(); _dicByKernelOutputId.Clear(); Init(); }); AppContextEventPath <KernelOutputFilterAddedEvent>("添加了内核输出过滤器后刷新VM内存", LogEnum.DevConsole, action: message => { if (!_dicById.ContainsKey(message.Source.GetId())) { KernelOutputFilterViewModel vm = new KernelOutputFilterViewModel(message.Source); _dicById.Add(vm.Id, vm); if (AppContext.Instance.KernelOutputVms.TryGetKernelOutputVm(vm.KernelOutputId, out KernelOutputViewModel kernelOutputVm)) { if (!_dicByKernelOutputId.ContainsKey(vm.KernelOutputId)) { _dicByKernelOutputId.Add(vm.KernelOutputId, new List <KernelOutputFilterViewModel>()); } _dicByKernelOutputId[vm.KernelOutputId].Add(vm); kernelOutputVm.OnPropertyChanged(nameof(kernelOutputVm.KernelOutputFilters)); } } }); AppContextEventPath <KernelOutputFilterUpdatedEvent>("更新了内核输出过滤器后刷新VM内存", LogEnum.DevConsole, action: message => { if (_dicById.TryGetValue(message.Source.GetId(), out KernelOutputFilterViewModel vm)) { vm.Update(message.Source); } }); AppContextEventPath <KernelOutputFilterRemovedEvent>("删除了内核输出过滤器后刷新VM内存", LogEnum.DevConsole, action: message => { if (_dicById.TryGetValue(message.Source.GetId(), out KernelOutputFilterViewModel vm)) { _dicById.Remove(vm.Id); _dicByKernelOutputId[vm.KernelOutputId].Remove(vm); KernelOutputViewModel kernelOutputVm; if (AppContext.Instance.KernelOutputVms.TryGetKernelOutputVm(vm.KernelOutputId, out kernelOutputVm)) { kernelOutputVm.OnPropertyChanged(nameof(kernelOutputVm.KernelOutputFilters)); } } }); Init(); #if DEBUG Write.DevTimeSpan($"耗时{Write.Stopwatch.ElapsedMilliseconds}毫秒 {this.GetType().Name}.ctor"); #endif }
public static void ShowEditWindow(KernelOutputFilterViewModel source) { ContainerWindow.ShowWindow(new ContainerWindowViewModel { IsDialogWindow = true, CloseVisible = System.Windows.Visibility.Visible, IconName = "Icon_Coin" }, ucFactory: (window) => { KernelOutputFilterViewModel vm = new KernelOutputFilterViewModel(source); vm.CloseWindow = () => window.Close(); return(new KernelOutputFilterEdit(vm)); }, fixedSize: true); }
public static void ShowWindow(FormType formType, KernelOutputFilterViewModel source) { ContainerWindow.ShowWindow(new ContainerWindowViewModel { Title = "内核输出过滤器", FormType = formType, Width = 520, IsDialogWindow = true, CloseVisible = System.Windows.Visibility.Visible, IconName = "Icon_Coin" }, ucFactory: (window) => { KernelOutputFilterViewModel vm = new KernelOutputFilterViewModel(source) { CloseWindow = () => window.Close() }; return(new KernelOutputFilterEdit(vm)); }, fixedSize: true); }
public static void ShowEditWindow(KernelOutputFilterViewModel source) { string title; if (!DevMode.IsDevMode) { title = "过滤器详情"; } else { if (NTMinerRoot.Current.KernelOutputFilterSet.Contains(source.Id)) { title = "编辑过滤器"; } else { title = "添加过滤器"; } } ContainerWindow.ShowWindow(new ContainerWindowViewModel { Title = title, IsDialogWindow = true, SaveVisible = System.Windows.Visibility.Visible, CloseVisible = System.Windows.Visibility.Visible, IconName = "Icon_Coin", OnOk = (uc) => { var vm = ((KernelOutputFilterEdit)uc).Vm; if (NTMinerRoot.Current.KernelOutputFilterSet.Contains(source.Id)) { Global.Execute(new UpdateKernelOutputFilterCommand(vm)); } else { Global.Execute(new AddKernelOutputFilterCommand(vm)); } return(true); } }, ucFactory: (window) => { KernelOutputFilterViewModel vm = new KernelOutputFilterViewModel(source.Id).Update(source); return(new KernelOutputFilterEdit(vm)); }, fixedSize: true); }
public KernelOutputFilterEdit(KernelOutputFilterViewModel vm) { this.DataContext = vm; InitializeComponent(); ResourceDictionarySet.Instance.FillResourceDic(this, this.Resources); }
public KernelOutputFilterEditCommand(FormType formType, KernelOutputFilterViewModel source) { this.FormType = formType; this.Source = source; }
public KernelOutputFilterEdit(KernelOutputFilterViewModel vm) { this.DataContext = vm; InitializeComponent(); }