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

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,21 +53,19 @@ namespace MapControl
{
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;
}
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)
{
element.SetValue(ViewPositionProperty, viewPosition);