Use DispatcherTimer alias

This commit is contained in:
Clemens 2022-08-02 19:50:11 +02:00
parent 267f45ae29
commit 57b7f718ee
5 changed files with 24 additions and 21 deletions

12
.gitignore vendored
View file

@ -1,3 +1,15 @@
.vs/
bin/
obj/
packages/
Maps.*
TestApps/
Win2D/
ChartServerLayer.cs
TileLoader.cs
MapControl_TestApps.sln
*.user
*.cache
*.cmd
*.nupkg
*.txt

View file

@ -8,11 +8,11 @@ using System.Linq;
using System.Threading.Tasks;
#if WINUI
using Windows.Foundation;
using Microsoft.UI.Dispatching;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Media;
using Microsoft.UI.Xaml.Media.Animation;
using DispatcherTimer = Microsoft.UI.Dispatching.DispatcherQueueTimer;
#elif UWP
using Windows.Foundation;
using Windows.UI.Xaml;
@ -54,11 +54,7 @@ namespace MapControl
public static readonly DependencyProperty MapForegroundProperty = DependencyProperty.Register(
nameof(MapForeground), typeof(Brush), typeof(MapImageLayer), new PropertyMetadata(null));
#if WINUI
private readonly DispatcherQueueTimer updateTimer;
#else
private readonly DispatcherTimer updateTimer;
#endif
private bool updateInProgress;
public MapImageLayer()

View file

@ -55,6 +55,7 @@ namespace MapControl
line.SetBinding(Shape.StrokeProperty, this.GetOrCreateBinding(StrokeProperty, nameof(Stroke)));
line.SetBinding(Shape.StrokeThicknessProperty, this.GetOrCreateBinding(StrokeThicknessProperty, nameof(StrokeThickness)));
#if WINUI || UWP
label.SetBinding(TextBlock.ForegroundProperty, this.GetOrCreateBinding(ForegroundProperty, nameof(Foreground)));
#endif

View file

@ -6,10 +6,10 @@ using System;
using System.Collections.Generic;
using System.Threading.Tasks;
#if WINUI
using Microsoft.UI.Dispatching;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Media;
using DispatcherTimer = Microsoft.UI.Dispatching.DispatcherQueueTimer;
#elif UWP
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
@ -58,11 +58,7 @@ namespace MapControl
public static readonly DependencyProperty MapForegroundProperty = DependencyProperty.Register(
nameof(MapForeground), typeof(Brush), typeof(MapTileLayerBase), new PropertyMetadata(null));
#if WINUI
private readonly DispatcherQueueTimer updateTimer;
#else
private readonly DispatcherTimer updateTimer;
#endif
private MapBase parentMap;
protected MapTileLayerBase(ITileImageLoader tileImageLoader)

View file

@ -44,8 +44,8 @@ namespace MapControl
// Workaround for missing property value inheritance.
// Loaded and Unloaded handlers set and clear the ParentMap property value.
element.Loaded += (s, e) => GetParentMap(element);
element.Unloaded += (s, e) => element.ClearValue(ParentMapProperty);
element.Loaded += (s, e) => GetParentMap((FrameworkElement)s);
element.Unloaded += (s, e) => ((FrameworkElement)s).ClearValue(ParentMapProperty);
}
}
@ -53,19 +53,17 @@ namespace MapControl
{
var parentMap = (MapBase)element.GetValue(ParentMapProperty);
if (parentMap == null && (parentMap = FindParentMap(element)) != null)
if (parentMap == null && VisualTreeHelper.GetParent(element) is FrameworkElement parentElement)
{
parentMap = (parentElement as MapBase) ?? GetParentMap(parentElement);
if (parentMap != null)
{
element.SetValue(ParentMapProperty, parentMap);
}
return parentMap;
}
private static MapBase FindParentMap(FrameworkElement element)
{
return VisualTreeHelper.GetParent(element) is FrameworkElement parent
? ((parent as MapBase) ?? (MapBase)element.GetValue(ParentMapProperty) ?? FindParentMap(parent))
: null;
return parentMap;
}
private static void SetViewPosition(FrameworkElement element, Point? viewPosition)