// XAML Map Control - https://github.com/ClemensFischer/XAML-Map-Control // Copyright © Clemens Fischer // Licensed under the Microsoft Public License (Ms-PL) using System.Collections.Generic; namespace MapControl { public partial class MapPanel { public static readonly AttachedProperty AutoCollapseProperty = DependencyPropertyHelper.RegisterAttached("AutoCollapse", typeof(MapPanel)); public static readonly AttachedProperty LocationProperty = DependencyPropertyHelper.RegisterAttached("Location", typeof(MapPanel)); public static readonly AttachedProperty BoundingBoxProperty = DependencyPropertyHelper.RegisterAttached("BoundingBox", typeof(MapPanel)); protected IEnumerable ChildElements => Children; static MapPanel() { AffectsParentArrange(LocationProperty, BoundingBoxProperty); } public MapPanel() { if (this is MapBase mapBase) { SetValue(ParentMapProperty, mapBase); } } public static MapBase GetParentMap(Control element) { return (MapBase)element.GetValue(ParentMapProperty); } public static void SetRenderTransform(Control element, Transform transform, double originX = 0d, double originY = 0d) { element.RenderTransform = transform; element.RenderTransformOrigin = new RelativePoint(originX, originY, RelativeUnit.Relative); } private static void SetVisible(Control element, bool visible) { element.IsVisible = visible; } } }