/// <summary> /// 自动保存编辑内容 /// </summary> /// <param name="source"></param> /// <param name="e"></param> public void SaveEditer(object source, ElapsedEventArgs e) { if (InvokeRequired) { EventHandler <ElapsedEventArgs> handler = SaveEditer; Invoke(handler, source, e); } var value = ApplicationContext.GetParameterValue("autoSaveStyle", "关闭自动保存"); if (value.Equals("直接保存")) { SaveEditCommand cmd = new SaveEditCommand { HasPopForm = false }; cmd.Execute(null); SaveTimer.Stop(); SaveTimer.Start(); } else if (value.Equals("弹框提示")) { SaveEditCommand cmd = new SaveEditCommand { HasPopForm = true }; cmd.Execute(null); SaveTimer.Stop(); SaveTimer.Start(); } }
/// <summary> /// 订阅事件 /// </summary> private void InitEvent() { var eventAggreator = ContainerManager.GetContainer().Resolve <IEventAggregator>(); eventAggreator.Subscribe <StartStopEditEvent>(StartStopEdit); //订阅 启动停止编辑事件 eventAggreator.Subscribe <TargetLayerChangedEvent>(TargetLayerChanged); //订阅 当前编辑图层发生改变事件 eventAggreator.Subscribe <ChangeActiveButtonEvent>(ChangeActiveButton); //订阅 编辑工具栏当前功能按钮发生改变事件 eventAggreator.Subscribe <ChangeButtonCheckedStateEvent>(ChangeButtonCheckedState); // 订阅 编辑工具栏中BarCheckItem的选中状态发生改变事件 eventAggreator.Subscribe <ChangeBarCheckGroupEnableEvent>(ChangeButtonGroupEnable); //订阅 编辑工具栏中特定分组BarCheckItem的可用性发生改变事件 //to do:save edits at regular time var value = ApplicationContext.GetParameterValue("autoSaveInterval", "3"); _timer = new Timer(Convert.ToDouble(value) * 60000) { AutoReset = false }; _timer.Elapsed += SaveEditer; }