From 3c907c33458029dde3ea8ed65cc9b2256897d10a Mon Sep 17 00:00:00 2001 From: ClemensFischer Date: Fri, 24 May 2024 09:13:41 +0200 Subject: [PATCH] Default Map Background --- MapControl/Avalonia/DependencyPropertyHelper.Avalonia.cs | 5 ++++- MapControl/Avalonia/MapBase.Avalonia.cs | 7 ++----- MapControl/Shared/MapBase.cs | 3 ++- MapControl/Shared/MapImageLayer.cs | 1 + MapControl/Shared/MapTileLayerBase.cs | 1 + MapControl/WinUI/MapBase.WinUI.cs | 1 + 6 files changed, 11 insertions(+), 7 deletions(-) diff --git a/MapControl/Avalonia/DependencyPropertyHelper.Avalonia.cs b/MapControl/Avalonia/DependencyPropertyHelper.Avalonia.cs index 4ce3d97b..3cc08a6b 100644 --- a/MapControl/Avalonia/DependencyPropertyHelper.Avalonia.cs +++ b/MapControl/Avalonia/DependencyPropertyHelper.Avalonia.cs @@ -1,4 +1,7 @@ - +// XAML Map Control - https://github.com/ClemensFischer/XAML-Map-Control +// Copyright © 2024 Clemens Fischer +// Licensed under the Microsoft Public License (Ms-PL) + using Avalonia.Controls; using System; diff --git a/MapControl/Avalonia/MapBase.Avalonia.cs b/MapControl/Avalonia/MapBase.Avalonia.cs index a24776e9..58bdbd8b 100644 --- a/MapControl/Avalonia/MapBase.Avalonia.cs +++ b/MapControl/Avalonia/MapBase.Avalonia.cs @@ -6,6 +6,7 @@ global using Avalonia; using Avalonia.Animation; using Avalonia.Animation.Easings; using Avalonia.Controls; +using Avalonia.Media; using Avalonia.Styling; using System.Threading; using System.Threading.Tasks; @@ -75,16 +76,12 @@ namespace MapControl static MapBase() { + BackgroundProperty.OverrideDefaultValue(typeof(MapBase), Brushes.White); ClipToBoundsProperty.OverrideDefaultValue(typeof(MapBase), true); Animation.RegisterCustomAnimator(); } - public MapBase() - { - MapProjectionPropertyChanged(MapProjection); - } - internal Size RenderSize => Bounds.Size; protected override void OnSizeChanged(SizeChangedEventArgs e) diff --git a/MapControl/Shared/MapBase.cs b/MapControl/Shared/MapBase.cs index fa85acb6..fc9ef2e1 100644 --- a/MapControl/Shared/MapBase.cs +++ b/MapControl/Shared/MapBase.cs @@ -16,6 +16,7 @@ using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Media; #elif AVALONIA using Avalonia.Media; +using Brush = Avalonia.Media.IBrush; using DependencyProperty = Avalonia.AvaloniaProperty; using UIElement = Avalonia.Controls.Control; #endif @@ -60,7 +61,7 @@ namespace MapControl private Location transformCenter; private Point viewCenter; private double centerLongitude; - private double maxLatitude = 90d; + private double maxLatitude = 85.05112878; // default WebMercatorProjection private bool internalPropertyChange; /// diff --git a/MapControl/Shared/MapImageLayer.cs b/MapControl/Shared/MapImageLayer.cs index caf2cb48..11114b68 100644 --- a/MapControl/Shared/MapImageLayer.cs +++ b/MapControl/Shared/MapImageLayer.cs @@ -24,6 +24,7 @@ using DispatcherTimer = Microsoft.UI.Dispatching.DispatcherQueueTimer; using Avalonia.Controls; using Avalonia.Media; using Avalonia.Threading; +using Brush = Avalonia.Media.IBrush; using DependencyProperty = Avalonia.AvaloniaProperty; using ImageSource = Avalonia.Media.IImage; #endif diff --git a/MapControl/Shared/MapTileLayerBase.cs b/MapControl/Shared/MapTileLayerBase.cs index 66b66055..74445a5b 100644 --- a/MapControl/Shared/MapTileLayerBase.cs +++ b/MapControl/Shared/MapTileLayerBase.cs @@ -23,6 +23,7 @@ using DispatcherTimer = Microsoft.UI.Dispatching.DispatcherQueueTimer; using Avalonia.Controls; using Avalonia.Media; using Avalonia.Threading; +using Brush = Avalonia.Media.IBrush; using DependencyProperty = Avalonia.AvaloniaProperty; #endif diff --git a/MapControl/WinUI/MapBase.WinUI.cs b/MapControl/WinUI/MapBase.WinUI.cs index 4003d7e7..61ca1747 100644 --- a/MapControl/WinUI/MapBase.WinUI.cs +++ b/MapControl/WinUI/MapBase.WinUI.cs @@ -70,6 +70,7 @@ namespace MapControl public MapBase() { // Set Background by Style to enable resetting by ClearValue in MapLayerPropertyChanged. + // There is no default Style in Generic.xaml because MapBase has no DefaultStyleKey property. // var style = new Style(typeof(MapBase)); style.Setters.Add(new Setter(BackgroundProperty, new SolidColorBrush(Colors.White)));