Set EdgeMode/BorderMode globally

This commit is contained in:
ClemensFischer 2025-01-01 08:16:24 +01:00
parent bab3762a19
commit 9a59b9b7cd
3 changed files with 12 additions and 8 deletions

View file

@ -11,16 +11,12 @@ using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Threading;
#elif UWP
using Windows.UI.Composition;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Hosting;
using Windows.UI.Xaml.Media;
#elif WINUI
using Microsoft.UI.Composition;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Hosting;
using Microsoft.UI.Xaml.Media;
using DispatcherTimer = Microsoft.UI.Dispatching.DispatcherQueueTimer;
#endif
@ -72,11 +68,8 @@ namespace MapControl
updateTimer.Tick += async (s, e) => await Update(false);
MapPanel.SetRenderTransform(this, new MatrixTransform());
#if WPF
RenderOptions.SetEdgeMode(this, EdgeMode.Aliased);
#elif UWP || WINUI
#if UWP || WINUI
MapPanel.InitMapElement(this);
ElementCompositionPreview.GetElementVisual(this).BorderMode = CompositionBorderMode.Hard;
#endif
}

View file

@ -81,6 +81,11 @@ namespace MapControl
FlowDirectionProperty.OverrideMetadata(typeof(MapBase), new FrameworkPropertyMetadata(FlowDirection.LeftToRight) { Inherits = false });
}
public MapBase()
{
RenderOptions.SetEdgeMode(this, EdgeMode.Aliased);
}
/// <summary>
/// Gets or sets the EasingFunction of the Center, ZoomLevel and Heading animations.
/// The default value is a QuadraticEase with EasingMode.EaseOut.

View file

@ -4,12 +4,16 @@
#if UWP
using Windows.UI;
using Windows.UI.Composition;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Hosting;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Media.Animation;
#else
using Microsoft.UI;
using Microsoft.UI.Composition;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Hosting;
using Microsoft.UI.Xaml.Media;
using Microsoft.UI.Xaml.Media.Animation;
#endif
@ -85,6 +89,8 @@ namespace MapControl
FlowDirection = FlowDirection.LeftToRight;
SizeChanged += OnSizeChanged;
ElementCompositionPreview.GetElementVisual(this).BorderMode = CompositionBorderMode.Hard;
}
/// <summary>