Version 2.4.7: Added work-around for missing PropertyChangedCallback for the MapPath.Data property.

This commit is contained in:
ClemensF 2015-02-10 21:59:39 +01:00
parent dfabb2a7eb
commit e9868a993d
17 changed files with 80 additions and 36 deletions

View file

@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCompany("Clemens Fischer")]
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyVersion("2.4.6")]
[assembly: AssemblyFileVersion("2.4.6")]
[assembly: AssemblyVersion("2.4.7")]
[assembly: AssemblyFileVersion("2.4.7")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]

View file

@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCompany("Clemens Fischer")]
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyVersion("2.4.6")]
[assembly: AssemblyFileVersion("2.4.6")]
[assembly: AssemblyVersion("2.4.7")]
[assembly: AssemblyFileVersion("2.4.7")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]

View file

@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCompany("Clemens Fischer")]
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyVersion("2.4.6")]
[assembly: AssemblyFileVersion("2.4.6")]
[assembly: AssemblyVersion("2.4.7")]
[assembly: AssemblyFileVersion("2.4.7")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]

View file

@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCompany("Clemens Fischer")]
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyVersion("2.4.6")]
[assembly: AssemblyFileVersion("2.4.6")]
[assembly: AssemblyVersion("2.4.7")]
[assembly: AssemblyFileVersion("2.4.7")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]

View file

@ -3,8 +3,12 @@
// Licensed under the Microsoft Public License (Ms-PL)
#if WINDOWS_RUNTIME
using Windows.Foundation;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Shapes;
#else
using System.Windows;
using System.Windows.Media;
using System.Windows.Shapes;
#endif
@ -16,5 +20,24 @@ namespace MapControl
{
MapPanel.AddParentMapHandlers(this);
}
private Geometry data;
protected override Size MeasureOverride(Size constraint)
{
// Work-around for missing PropertyChangedCallback for the Data property.
if (data != Data)
{
data = Data;
UpdateData();
}
// Path.MeasureOverride in Windows Runtime sometimes returns an empty Size,
// whereas in Silverlight it occasionally throws an ArgumentException,
// apparently because it tries to create a Size from negative width or height,
// which result from a transformed Geometry.
// In either case it seems to be sufficient to simply return a non-zero size.
return new Size(1, 1);
}
}
}

View file

@ -24,5 +24,11 @@ namespace MapControl
{
get { return Data; }
}
protected override Size MeasureOverride(Size constraint)
{
// Shape.MeasureOverride sometimes returns an empty Size.
return new Size(1, 1);
}
}
}

View file

@ -3,10 +3,8 @@
// Licensed under the Microsoft Public License (Ms-PL)
#if WINDOWS_RUNTIME
using Windows.Foundation;
using Windows.UI.Xaml.Media;
#else
using System.Windows;
using System.Windows.Media;
#endif
@ -44,15 +42,5 @@ namespace MapControl
}
}
}
protected override Size MeasureOverride(Size constraint)
{
// base.MeasureOverride in WPF and Windows Runtime sometimes return a Size
// with zero width or height, whereas in Silverlight it occasionally throws
// an ArgumentException, as it tries to create a Size from a negative width
// or height, apparently resulting from a transformed Geometry.
// In either case it seems to be sufficient to simply return a non-zero size.
return new Size(1, 1);
}
}
}

View file

@ -17,8 +17,8 @@ using System.Windows;
[assembly: AssemblyCompany("Clemens Fischer")]
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyVersion("2.4.6")]
[assembly: AssemblyFileVersion("2.4.6")]
[assembly: AssemblyVersion("2.4.7")]
[assembly: AssemblyFileVersion("2.4.7")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]

View file

@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCompany("Clemens Fischer")]
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyVersion("2.4.6")]
[assembly: AssemblyFileVersion("2.4.6")]
[assembly: AssemblyVersion("2.4.7")]
[assembly: AssemblyFileVersion("2.4.7")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]

View file

@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCompany("Clemens Fischer")]
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyVersion("2.4.6")]
[assembly: AssemblyFileVersion("2.4.6")]
[assembly: AssemblyVersion("2.4.7")]
[assembly: AssemblyFileVersion("2.4.7")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]

View file

@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCompany("Clemens Fischer")]
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyVersion("2.4.6")]
[assembly: AssemblyFileVersion("2.4.6")]
[assembly: AssemblyVersion("2.4.7")]
[assembly: AssemblyFileVersion("2.4.7")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]

View file

@ -163,10 +163,19 @@
<Path map:MapPanel.Location="53.5,8.2" Stroke="Blue" StrokeThickness="3" Fill="#1F007F00">
<Path.Data>
<EllipseGeometry RadiusX="500" RadiusY="500" Transform="{Binding ScaleTransform, ElementName=map}"/>
<EllipseGeometry RadiusX="1852" RadiusY="1852" Transform="{Binding ScaleTransform, ElementName=map}"/>
</Path.Data>
</Path>
<map:MapPath Fill="Aqua" Opacity="0.5">
<map:MapPath.Data>
<GeometryGroup FillRule="EvenOdd">
<EllipseGeometry Center="8.2,63.5" RadiusX="0.025" RadiusY="0.025"/>
<EllipseGeometry Center="8.2,63.51" RadiusX="0.015" RadiusY="0.015"/>
</GeometryGroup>
</map:MapPath.Data>
</map:MapPath>
<map:Pushpin map:MapPanel.Location="53.5,8.2" Background="Yellow" Foreground="Blue" Content="N 53° 30' E 8° 12'"/>
</map:Map>

View file

@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCompany("Clemens Fischer")]
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyVersion("2.4.6")]
[assembly: AssemblyFileVersion("2.4.6")]
[assembly: AssemblyVersion("2.4.7")]
[assembly: AssemblyFileVersion("2.4.7")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]

View file

@ -189,10 +189,19 @@
<map:Location Latitude="53.5" Longitude="8.2"/>
</map:MapPanel.Location>
<Path.Data>
<EllipseGeometry RadiusX="1000" RadiusY="1000" Transform="{Binding ScaleTransform, ElementName=map}"/>
<EllipseGeometry RadiusX="1852" RadiusY="1852" Transform="{Binding ScaleTransform, ElementName=map}"/>
</Path.Data>
</Path>
<map:MapPath Fill="Aqua" Opacity="0.5">
<map:MapPath.Data>
<GeometryGroup FillRule="EvenOdd">
<EllipseGeometry Center="8.2,63.5" RadiusX="0.025" RadiusY="0.025"/>
<EllipseGeometry Center="8.2,63.51" RadiusX="0.015" RadiusY="0.015"/>
</GeometryGroup>
</map:MapPath.Data>
</map:MapPath>
<map:Pushpin Background="Yellow" Foreground="Blue" Content="N 53° 30' E 8° 12'">
<map:MapPanel.Location>
<map:Location Latitude="53.5" Longitude="8.2"/>

View file

@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCompany("Clemens Fischer")]
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyVersion("2.4.6")]
[assembly: AssemblyFileVersion("2.4.6")]
[assembly: AssemblyVersion("2.4.7")]
[assembly: AssemblyFileVersion("2.4.7")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]

View file

@ -218,6 +218,15 @@
</Path.Data>
</Path>
<map:MapPath Fill="Aqua" Opacity="0.5">
<map:MapPath.Data>
<GeometryGroup FillRule="EvenOdd">
<EllipseGeometry Center="8.2,63.5" RadiusX="0.025" RadiusY="0.025"/>
<EllipseGeometry Center="8.2,63.51" RadiusX="0.015" RadiusY="0.015"/>
</GeometryGroup>
</map:MapPath.Data>
</map:MapPath>
<map:Pushpin map:MapPanel.Location="53.5,8.2" Background="Yellow" Foreground="Blue" Content="N 53° 30' E 8° 12'">
<map:Pushpin.Visibility>
<MultiBinding Converter="{StaticResource LocationToVisibilityConverter}">

View file

@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCompany("Clemens Fischer")]
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyVersion("2.4.6")]
[assembly: AssemblyFileVersion("2.4.6")]
[assembly: AssemblyVersion("2.4.7")]
[assembly: AssemblyFileVersion("2.4.7")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]