/// <summary> /// Allows for new behavior during deactivation. /// </summary> protected override void OnDeactivate() { if (_standBy) { return; } // Don't completely deactivate, but rather go into standby mode // where we draw only the content that we have actually locked in. _standBy = true; _coordinateDialog?.Hide(); if (_coordinates != null && _coordinates.Count > 1) { LineString ls = new LineString(_coordinates.ToArray()); FeatureSet fs = new FeatureSet(FeatureType.Line); fs.Features.Add(new Feature(ls)); MapLineLayer gll = new MapLineLayer(fs) { Symbolizer = { ScaleMode = ScaleMode.Symbolic, Smoothing = true }, MapFrame = Map.MapFrame }; _tempLayer = gll; Map.MapFrame.DrawingLayers.Add(gll); Map.MapFrame.Invalidate(); Map.Invalidate(); } Deactivate(); }
/// <summary> /// 비활성화하는 동안 새로운 동작을 허용합니다. /// </summary> protected override void OnDeactivate() { if (_standBy) { return; } // 완전히 비활성화하지 않고 대기 모드로 전환하십시오. // 여기서 실제로 잠근 내용 만 그립니다. _standBy = true; _coordinateDialog?.Hide(); if (_coordinates != null && _coordinates.Count > 1) { LineString ls = new LineString(_coordinates.ToArray()); FeatureSet fs = new FeatureSet(FeatureType.Line); fs.Features.Add(new Feature(ls)); MapLineLayer gll = new MapLineLayer(fs) { Symbolizer = { ScaleMode = ScaleMode.Symbolic, Smoothing = true }, MapFrame = Map.MapFrame }; _tempLayer = gll; Map.MapFrame.DrawingLayers.Add(gll); Map.MapFrame.Invalidate(); Map.Invalidate(); } Deactivate(); }
/// <summary> /// Occurs when this function is removed. /// </summary> protected override void OnUnload() { if (Enabled) { _coordinates = null; _coordinateDialog.Hide(); } if (_tempLayer != null) { Map.MapFrame.DrawingLayers.Remove(_tempLayer); Map.MapFrame.Invalidate(); _tempLayer = null; } Map.Invalidate(); }