Avalonia InvalidateGeometry on new Path Figures

This commit is contained in:
ClemensFischer 2024-05-26 00:12:32 +02:00
parent ddc11bcc8a
commit e49ca0b79e
5 changed files with 19 additions and 8 deletions

View file

@ -2,6 +2,7 @@
// Copyright © 2024 Clemens Fischer
// Licensed under the Microsoft Public License (Ms-PL)
using Avalonia.Controls;
using Avalonia.Controls.Shapes;
using Avalonia.Media;
using System.Collections;
@ -66,6 +67,12 @@ namespace MapControl
UpdateData();
}
protected void SetPathFigures(PathFigures pathFigures)
{
((PathGeometry)Data).Figures = pathFigures;
InvalidateGeometry();
}
protected void AddPolylinePoints(PathFigures pathFigures, IEnumerable<Location> locations, double longitudeOffset, bool closed)
{
if (locations.Count() >= 2)

View file

@ -57,10 +57,7 @@ namespace MapControl
protected override void UpdateData()
{
((PathGeometry)Data).Figures = GetPathFigures(Locations, true);
#if AVALONIA
InvalidateGeometry();
#endif
SetPathFigures(GetPathFigures(Locations, true));
}
}
}

View file

@ -57,10 +57,7 @@ namespace MapControl
protected override void UpdateData()
{
((PathGeometry)Data).Figures = GetPathFigures(Locations, false);
#if AVALONIA
InvalidateGeometry();
#endif
SetPathFigures(GetPathFigures(Locations, true));
}
}
}

View file

@ -84,6 +84,11 @@ namespace MapControl
return true;
}
protected void SetPathFigures(PathFigureCollection pathFigures)
{
((PathGeometry)Data).Figures = pathFigures;
}
protected void AddPolylinePoints(PathFigureCollection pathFigures, IEnumerable<Location> locations, double longitudeOffset, bool closed)
{
if (locations.Count() >= 2)

View file

@ -58,6 +58,11 @@ namespace MapControl
UpdateData();
}
protected void SetPathFigures(PathFigureCollection pathFigures)
{
((PathGeometry)Data).Figures = pathFigures;
}
protected void AddPolylinePoints(PathFigureCollection pathFigures, IEnumerable<Location> locations, double longitudeOffset, bool closed)
{
if (locations.Count() >= 2)