WinUI value converters

This commit is contained in:
ClemensFischer 2025-08-14 13:11:25 +02:00
parent e006cbedc6
commit 933cb7f2ba
6 changed files with 83 additions and 32 deletions

View file

@ -40,6 +40,11 @@ namespace MapControl
public virtual Location Center => new Location((South + North) / 2d, (West + East) / 2d);
public override string ToString()
{
return string.Format(CultureInfo.InvariantCulture, "{0},{1},{2},{3}", South, West, North, East);
}
/// <summary>
/// Creates a BoundingBox instance from a string containing a comma-separated sequence of four or five floating point numbers.
/// </summary>

View file

@ -48,20 +48,22 @@ namespace MapControl
Add(new Location(latitude, longitude));
}
public override string ToString()
{
return string.Join(" ", this.Select(l => l.ToString()));
}
/// <summary>
/// Creates a LocationCollection instance from a string containing a sequence
/// of Location strings that are separated by a spaces or semicolons.
/// </summary>
public static LocationCollection Parse(string locations)
{
if (string.IsNullOrEmpty(locations))
{
return new LocationCollection();
}
var strings = locations.Split(new char[] { ' ', ';' }, StringSplitOptions.RemoveEmptyEntries);
return new LocationCollection(strings.Select(l => Location.Parse(l)));
return string.IsNullOrEmpty(locations)
? new LocationCollection()
: new LocationCollection(locations
.Split(new char[] { ' ', ';' }, StringSplitOptions.RemoveEmptyEntries)
.Select(Location.Parse));
}
/// <summary>

View file

@ -89,6 +89,11 @@ namespace MapControl
return ImageLoader.LoadImageAsync(buffer);
}
public override string ToString()
{
return UriTemplate;
}
/// <summary>
/// Creates a TileSource instance from an Uri template string.
/// </summary>