mirror of
https://github.com/ClemensFischer/XAML-Map-Control.git
synced 2025-12-06 07:12:04 +01:00
Use DispatcherTimer alias
This commit is contained in:
parent
267f45ae29
commit
57b7f718ee
12
.gitignore
vendored
12
.gitignore
vendored
|
|
@ -1,3 +1,15 @@
|
||||||
.vs/
|
.vs/
|
||||||
bin/
|
bin/
|
||||||
obj/
|
obj/
|
||||||
|
packages/
|
||||||
|
Maps.*
|
||||||
|
TestApps/
|
||||||
|
Win2D/
|
||||||
|
ChartServerLayer.cs
|
||||||
|
TileLoader.cs
|
||||||
|
MapControl_TestApps.sln
|
||||||
|
*.user
|
||||||
|
*.cache
|
||||||
|
*.cmd
|
||||||
|
*.nupkg
|
||||||
|
*.txt
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@ using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
#if WINUI
|
#if WINUI
|
||||||
using Windows.Foundation;
|
using Windows.Foundation;
|
||||||
using Microsoft.UI.Dispatching;
|
|
||||||
using Microsoft.UI.Xaml;
|
using Microsoft.UI.Xaml;
|
||||||
using Microsoft.UI.Xaml.Controls;
|
using Microsoft.UI.Xaml.Controls;
|
||||||
using Microsoft.UI.Xaml.Media;
|
using Microsoft.UI.Xaml.Media;
|
||||||
using Microsoft.UI.Xaml.Media.Animation;
|
using Microsoft.UI.Xaml.Media.Animation;
|
||||||
|
using DispatcherTimer = Microsoft.UI.Dispatching.DispatcherQueueTimer;
|
||||||
#elif UWP
|
#elif UWP
|
||||||
using Windows.Foundation;
|
using Windows.Foundation;
|
||||||
using Windows.UI.Xaml;
|
using Windows.UI.Xaml;
|
||||||
|
|
@ -54,11 +54,7 @@ namespace MapControl
|
||||||
public static readonly DependencyProperty MapForegroundProperty = DependencyProperty.Register(
|
public static readonly DependencyProperty MapForegroundProperty = DependencyProperty.Register(
|
||||||
nameof(MapForeground), typeof(Brush), typeof(MapImageLayer), new PropertyMetadata(null));
|
nameof(MapForeground), typeof(Brush), typeof(MapImageLayer), new PropertyMetadata(null));
|
||||||
|
|
||||||
#if WINUI
|
|
||||||
private readonly DispatcherQueueTimer updateTimer;
|
|
||||||
#else
|
|
||||||
private readonly DispatcherTimer updateTimer;
|
private readonly DispatcherTimer updateTimer;
|
||||||
#endif
|
|
||||||
private bool updateInProgress;
|
private bool updateInProgress;
|
||||||
|
|
||||||
public MapImageLayer()
|
public MapImageLayer()
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,7 @@ namespace MapControl
|
||||||
|
|
||||||
line.SetBinding(Shape.StrokeProperty, this.GetOrCreateBinding(StrokeProperty, nameof(Stroke)));
|
line.SetBinding(Shape.StrokeProperty, this.GetOrCreateBinding(StrokeProperty, nameof(Stroke)));
|
||||||
line.SetBinding(Shape.StrokeThicknessProperty, this.GetOrCreateBinding(StrokeThicknessProperty, nameof(StrokeThickness)));
|
line.SetBinding(Shape.StrokeThicknessProperty, this.GetOrCreateBinding(StrokeThicknessProperty, nameof(StrokeThickness)));
|
||||||
|
|
||||||
#if WINUI || UWP
|
#if WINUI || UWP
|
||||||
label.SetBinding(TextBlock.ForegroundProperty, this.GetOrCreateBinding(ForegroundProperty, nameof(Foreground)));
|
label.SetBinding(TextBlock.ForegroundProperty, this.GetOrCreateBinding(ForegroundProperty, nameof(Foreground)));
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,10 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
#if WINUI
|
#if WINUI
|
||||||
using Microsoft.UI.Dispatching;
|
|
||||||
using Microsoft.UI.Xaml;
|
using Microsoft.UI.Xaml;
|
||||||
using Microsoft.UI.Xaml.Controls;
|
using Microsoft.UI.Xaml.Controls;
|
||||||
using Microsoft.UI.Xaml.Media;
|
using Microsoft.UI.Xaml.Media;
|
||||||
|
using DispatcherTimer = Microsoft.UI.Dispatching.DispatcherQueueTimer;
|
||||||
#elif UWP
|
#elif UWP
|
||||||
using Windows.UI.Xaml;
|
using Windows.UI.Xaml;
|
||||||
using Windows.UI.Xaml.Controls;
|
using Windows.UI.Xaml.Controls;
|
||||||
|
|
@ -58,11 +58,7 @@ namespace MapControl
|
||||||
public static readonly DependencyProperty MapForegroundProperty = DependencyProperty.Register(
|
public static readonly DependencyProperty MapForegroundProperty = DependencyProperty.Register(
|
||||||
nameof(MapForeground), typeof(Brush), typeof(MapTileLayerBase), new PropertyMetadata(null));
|
nameof(MapForeground), typeof(Brush), typeof(MapTileLayerBase), new PropertyMetadata(null));
|
||||||
|
|
||||||
#if WINUI
|
|
||||||
private readonly DispatcherQueueTimer updateTimer;
|
|
||||||
#else
|
|
||||||
private readonly DispatcherTimer updateTimer;
|
private readonly DispatcherTimer updateTimer;
|
||||||
#endif
|
|
||||||
private MapBase parentMap;
|
private MapBase parentMap;
|
||||||
|
|
||||||
protected MapTileLayerBase(ITileImageLoader tileImageLoader)
|
protected MapTileLayerBase(ITileImageLoader tileImageLoader)
|
||||||
|
|
|
||||||
|
|
@ -44,8 +44,8 @@ namespace MapControl
|
||||||
// Workaround for missing property value inheritance.
|
// Workaround for missing property value inheritance.
|
||||||
// Loaded and Unloaded handlers set and clear the ParentMap property value.
|
// Loaded and Unloaded handlers set and clear the ParentMap property value.
|
||||||
|
|
||||||
element.Loaded += (s, e) => GetParentMap(element);
|
element.Loaded += (s, e) => GetParentMap((FrameworkElement)s);
|
||||||
element.Unloaded += (s, e) => element.ClearValue(ParentMapProperty);
|
element.Unloaded += (s, e) => ((FrameworkElement)s).ClearValue(ParentMapProperty);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -53,21 +53,19 @@ namespace MapControl
|
||||||
{
|
{
|
||||||
var parentMap = (MapBase)element.GetValue(ParentMapProperty);
|
var parentMap = (MapBase)element.GetValue(ParentMapProperty);
|
||||||
|
|
||||||
if (parentMap == null && (parentMap = FindParentMap(element)) != null)
|
if (parentMap == null && VisualTreeHelper.GetParent(element) is FrameworkElement parentElement)
|
||||||
{
|
{
|
||||||
element.SetValue(ParentMapProperty, parentMap);
|
parentMap = (parentElement as MapBase) ?? GetParentMap(parentElement);
|
||||||
|
|
||||||
|
if (parentMap != null)
|
||||||
|
{
|
||||||
|
element.SetValue(ParentMapProperty, parentMap);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void SetViewPosition(FrameworkElement element, Point? viewPosition)
|
private static void SetViewPosition(FrameworkElement element, Point? viewPosition)
|
||||||
{
|
{
|
||||||
element.SetValue(ViewPositionProperty, viewPosition);
|
element.SetValue(ViewPositionProperty, viewPosition);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue