public static LinearUnitSimpleType GetLinearUnit(LinearUnits units) { switch (units) { case LinearUnits.meters: return(LinearUnitSimpleType.meters); case LinearUnits.millimeters: return(LinearUnitSimpleType.millimeters); case LinearUnits.centimeters: return(LinearUnitSimpleType.centimeters); case LinearUnits.kilometers: return(LinearUnitSimpleType.kilometers); default: throw new ArgumentException("Unexpected unit"); } }
public override void OnApplyTemplate() #endif { base.OnApplyTemplate(); _measureLengthButton = GetTemplateChild("MeasureLength") as ToggleButton; if (_measureLengthButton != null) { _measureLengthButton.Click += OnToggleMeasureMode; } _measureAreaButton = GetTemplateChild("MeasureArea") as ToggleButton; if (_measureAreaButton != null) { _measureAreaButton.Click += OnToggleMeasureMode; } _measureFeatureButton = GetTemplateChild("MeasureFeature") as ToggleButton; if (_measureFeatureButton != null) { _measureFeatureButton.Click += OnToggleMeasureMode; } _clearButton = GetTemplateChild("Clear") as ButtonBase; if (_clearButton != null) { _measureFeatureResultOverlay.Graphics.CollectionChanged += (s, e) => { if (Mode == MeasureToolbarMode.Feature) { _clearButton.IsEnabled = _measureFeatureResultOverlay.Graphics.Any(); AddMeasureFeatureResultOverlay(MapView); } }; _clearButton.Click += OnClear; } _measureResultTextBlock = GetTemplateChild("MeasureResult") as TextBlock; _linearUnitsSelector = GetTemplateChild("LinearUnitsSelector") as UIElement; _areaUnitsSelector = GetTemplateChild("AreaUnitsSelector") as UIElement; // Base default unit selection on the culture the app is running under var useMetric = !"en-us".Equals(Language.ToString(), StringComparison.OrdinalIgnoreCase); if (SelectedLinearUnit == null) { if (useMetric) { SelectedLinearUnit = LinearUnits.Any(u => u == Geometry.LinearUnits.Meters) ? Geometry.LinearUnits.Meters : LinearUnits.FirstOrDefault(); } else { SelectedLinearUnit = LinearUnits.Any(u => u == Geometry.LinearUnits.Feet) ? Geometry.LinearUnits.Feet : LinearUnits.FirstOrDefault(); } } if (SelectedAreaUnit == null) { if (useMetric) { SelectedAreaUnit = AreaUnits.Any(u => u == Geometry.AreaUnits.SquareKilometers) ? Geometry.AreaUnits.SquareKilometers : AreaUnits.FirstOrDefault(); } else { SelectedAreaUnit = AreaUnits.Any(u => u == Geometry.AreaUnits.SquareMiles) ? Geometry.AreaUnits.SquareMiles : AreaUnits.FirstOrDefault(); } } PrepareMeasureMode(); }
public override void OnApplyTemplate() #endif { base.OnApplyTemplate(); _measureLengthButton = GetTemplateChild("MeasureLength") as ToggleButton; if (_measureLengthButton != null) { _measureLengthButton.Click += OnToggleMeasureMode; } _measureAreaButton = GetTemplateChild("MeasureArea") as ToggleButton; if (_measureAreaButton != null) { _measureAreaButton.Click += OnToggleMeasureMode; } _measureFeatureButton = GetTemplateChild("MeasureFeature") as ToggleButton; if (_measureFeatureButton != null) { _measureFeatureButton.Click += OnToggleMeasureMode; } _clearButton = GetTemplateChild("Clear") as ButtonBase; if (_clearButton != null) { _measureFeatureResultOverlay.Graphics.CollectionChanged += (s, e) => { if (Mode == MeasureToolbarMode.Feature) { _clearButton.IsEnabled = _measureFeatureResultOverlay.Graphics.Any(); AddMeasureFeatureResultOverlay(MapView); } }; _clearButton.Click += OnClear; } _measureResultTextBlock = GetTemplateChild("MeasureResult") as TextBlock; _linearUnitsSelector = GetTemplateChild("LinearUnitsSelector") as UIElement; _areaUnitsSelector = GetTemplateChild("AreaUnitsSelector") as UIElement; if (LinearUnits == null || !LinearUnits.Any()) { LinearUnits = new LinearUnit[] { Geometry.LinearUnits.Centimeters, Geometry.LinearUnits.Feet, Geometry.LinearUnits.Inches, Geometry.LinearUnits.Kilometers, Geometry.LinearUnits.Meters, Geometry.LinearUnits.Miles, Geometry.LinearUnits.Millimeters, Geometry.LinearUnits.NauticalMiles, Geometry.LinearUnits.Yards }; } if (SelectedLinearUnit == null) { SelectedLinearUnit = LinearUnits.Any(u => u == Geometry.LinearUnits.Meters) ? Geometry.LinearUnits.Meters : LinearUnits.FirstOrDefault(); } if (AreaUnits == null || !AreaUnits.Any()) { AreaUnits = new AreaUnit[] { Geometry.AreaUnits.Acres, Geometry.AreaUnits.Hectares, Geometry.AreaUnits.SquareCentimeters, Geometry.AreaUnits.SquareDecimeters, Geometry.AreaUnits.SquareFeet, Geometry.AreaUnits.SquareKilometers, Geometry.AreaUnits.SquareMeters, Geometry.AreaUnits.SquareMiles, Geometry.AreaUnits.SquareMillimeters, Geometry.AreaUnits.SquareYards }; } if (SelectedAreaUnit == null) { SelectedAreaUnit = AreaUnits.Any(u => u == Geometry.AreaUnits.SquareMiles) ? Geometry.AreaUnits.SquareMiles : AreaUnits.FirstOrDefault(); } if (LineSketchEditor == null) { LineSketchEditor = new SketchEditor(); } if (AreaSketchEditor == null) { AreaSketchEditor = new SketchEditor(); } if (SelectionLineSymbol == null) { SelectionLineSymbol = LineSketchEditor?.Style?.LineSymbol; } if (SelectionFillSymbol == null) { SelectionFillSymbol = AreaSketchEditor?.Style?.FillSymbol; } Mode = MeasureToolbarMode.None; PrepareMeasureMode(); }