mirror of
https://github.com/ClemensFischer/XAML-Map-Control.git
synced 2025-12-06 07:12:04 +01:00
Avalonia: ignore coercing default ZoomLevel value
This commit is contained in:
parent
35c0076336
commit
98847f5d86
|
|
@ -35,7 +35,7 @@ namespace MapControl
|
||||||
true);
|
true);
|
||||||
|
|
||||||
public static readonly StyledProperty<double> MinZoomLevelProperty =
|
public static readonly StyledProperty<double> MinZoomLevelProperty =
|
||||||
DependencyPropertyHelper.Register<MapBase, double>(nameof(MinZoomLevel), 1d,
|
DependencyPropertyHelper.Register<MapBase, double>(nameof(MinZoomLevel), DefaultZoomLevel,
|
||||||
(map, oldValue, newValue) => map.MinZoomLevelPropertyChanged(newValue),
|
(map, oldValue, newValue) => map.MinZoomLevelPropertyChanged(newValue),
|
||||||
(map, value) => map.CoerceMinZoomLevelProperty(value));
|
(map, value) => map.CoerceMinZoomLevelProperty(value));
|
||||||
|
|
||||||
|
|
@ -45,13 +45,13 @@ namespace MapControl
|
||||||
(map, value) => map.CoerceMaxZoomLevelProperty(value));
|
(map, value) => map.CoerceMaxZoomLevelProperty(value));
|
||||||
|
|
||||||
public static readonly StyledProperty<double> ZoomLevelProperty =
|
public static readonly StyledProperty<double> ZoomLevelProperty =
|
||||||
DependencyPropertyHelper.Register<MapBase, double>(nameof(ZoomLevel), 1d,
|
DependencyPropertyHelper.Register<MapBase, double>(nameof(ZoomLevel), DefaultZoomLevel,
|
||||||
(map, oldValue, newValue) => map.ZoomLevelPropertyChanged(newValue),
|
(map, oldValue, newValue) => map.ZoomLevelPropertyChanged(newValue),
|
||||||
(map, value) => map.CoerceZoomLevelProperty(value),
|
(map, value) => map.CoerceZoomLevelProperty(value),
|
||||||
true);
|
true);
|
||||||
|
|
||||||
public static readonly StyledProperty<double> TargetZoomLevelProperty =
|
public static readonly StyledProperty<double> TargetZoomLevelProperty =
|
||||||
DependencyPropertyHelper.Register<MapBase, double>(nameof(TargetZoomLevel), 1d,
|
DependencyPropertyHelper.Register<MapBase, double>(nameof(TargetZoomLevel), DefaultZoomLevel,
|
||||||
async (map, oldValue, newValue) => await map.TargetZoomLevelPropertyChanged(newValue),
|
async (map, oldValue, newValue) => await map.TargetZoomLevelPropertyChanged(newValue),
|
||||||
(map, value) => map.CoerceZoomLevelProperty(value),
|
(map, value) => map.CoerceZoomLevelProperty(value),
|
||||||
true);
|
true);
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,8 @@ namespace MapControl
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public partial class MapBase : MapPanel
|
public partial class MapBase : MapPanel
|
||||||
{
|
{
|
||||||
|
private const double DefaultZoomLevel = 1d;
|
||||||
|
|
||||||
public static TimeSpan ImageFadeDuration { get; set; } = TimeSpan.FromSeconds(0.1);
|
public static TimeSpan ImageFadeDuration { get; set; } = TimeSpan.FromSeconds(0.1);
|
||||||
|
|
||||||
public static readonly DependencyProperty AnimationDurationProperty =
|
public static readonly DependencyProperty AnimationDurationProperty =
|
||||||
|
|
@ -418,7 +420,12 @@ namespace MapControl
|
||||||
|
|
||||||
private double CoerceZoomLevelProperty(double zoomLevel)
|
private double CoerceZoomLevelProperty(double zoomLevel)
|
||||||
{
|
{
|
||||||
return Math.Min(Math.Max(zoomLevel, MinZoomLevel), MaxZoomLevel);
|
if (zoomLevel != DefaultZoomLevel) // Avalonia: ignore coercing default value
|
||||||
|
{
|
||||||
|
zoomLevel = Math.Min(Math.Max(zoomLevel, MinZoomLevel), MaxZoomLevel);
|
||||||
|
}
|
||||||
|
|
||||||
|
return zoomLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
private double CoerceHeadingProperty(double heading)
|
private double CoerceHeadingProperty(double heading)
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ namespace MapControl
|
||||||
true);
|
true);
|
||||||
|
|
||||||
public static readonly DependencyProperty MinZoomLevelProperty =
|
public static readonly DependencyProperty MinZoomLevelProperty =
|
||||||
DependencyPropertyHelper.Register<MapBase, double>(nameof(MinZoomLevel), 1d,
|
DependencyPropertyHelper.Register<MapBase, double>(nameof(MinZoomLevel), DefaultZoomLevel,
|
||||||
(map, oldValue, newValue) => map.MinZoomLevelPropertyChanged(newValue),
|
(map, oldValue, newValue) => map.MinZoomLevelPropertyChanged(newValue),
|
||||||
(map, value) => map.CoerceMinZoomLevelProperty(value));
|
(map, value) => map.CoerceMinZoomLevelProperty(value));
|
||||||
|
|
||||||
|
|
@ -41,13 +41,13 @@ namespace MapControl
|
||||||
(map, value) => map.CoerceMaxZoomLevelProperty(value));
|
(map, value) => map.CoerceMaxZoomLevelProperty(value));
|
||||||
|
|
||||||
public static readonly DependencyProperty ZoomLevelProperty =
|
public static readonly DependencyProperty ZoomLevelProperty =
|
||||||
DependencyPropertyHelper.Register<MapBase, double>(nameof(ZoomLevel), 1d,
|
DependencyPropertyHelper.Register<MapBase, double>(nameof(ZoomLevel), DefaultZoomLevel,
|
||||||
(map, oldValue, newValue) => map.ZoomLevelPropertyChanged(newValue),
|
(map, oldValue, newValue) => map.ZoomLevelPropertyChanged(newValue),
|
||||||
(map, value) => map.CoerceZoomLevelProperty(value),
|
(map, value) => map.CoerceZoomLevelProperty(value),
|
||||||
true);
|
true);
|
||||||
|
|
||||||
public static readonly DependencyProperty TargetZoomLevelProperty =
|
public static readonly DependencyProperty TargetZoomLevelProperty =
|
||||||
DependencyPropertyHelper.Register<MapBase, double>(nameof(TargetZoomLevel), 1d,
|
DependencyPropertyHelper.Register<MapBase, double>(nameof(TargetZoomLevel), DefaultZoomLevel,
|
||||||
(map, oldValue, newValue) => map.TargetZoomLevelPropertyChanged(newValue),
|
(map, oldValue, newValue) => map.TargetZoomLevelPropertyChanged(newValue),
|
||||||
(map, value) => map.CoerceZoomLevelProperty(value),
|
(map, value) => map.CoerceZoomLevelProperty(value),
|
||||||
true);
|
true);
|
||||||
|
|
@ -65,7 +65,7 @@ namespace MapControl
|
||||||
true);
|
true);
|
||||||
|
|
||||||
private static readonly DependencyPropertyKey ViewScalePropertyKey =
|
private static readonly DependencyPropertyKey ViewScalePropertyKey =
|
||||||
DependencyPropertyHelper.RegisterReadOnly<MapBase, double>(nameof(ViewScale), 0d);
|
DependencyPropertyHelper.RegisterReadOnly<MapBase, double>(nameof(ViewScale));
|
||||||
|
|
||||||
public static readonly DependencyProperty ViewScaleProperty = ViewScalePropertyKey.DependencyProperty;
|
public static readonly DependencyProperty ViewScaleProperty = ViewScalePropertyKey.DependencyProperty;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ namespace MapControl
|
||||||
(map, oldValue, newValue) => map.TargetCenterPropertyChanged(newValue));
|
(map, oldValue, newValue) => map.TargetCenterPropertyChanged(newValue));
|
||||||
|
|
||||||
public static readonly DependencyProperty MinZoomLevelProperty =
|
public static readonly DependencyProperty MinZoomLevelProperty =
|
||||||
DependencyPropertyHelper.Register<MapBase, double>(nameof(MinZoomLevel), 1d,
|
DependencyPropertyHelper.Register<MapBase, double>(nameof(MinZoomLevel), DefaultZoomLevel,
|
||||||
(map, oldValue, newValue) => map.MinZoomLevelPropertyChanged(newValue));
|
(map, oldValue, newValue) => map.MinZoomLevelPropertyChanged(newValue));
|
||||||
|
|
||||||
public static readonly DependencyProperty MaxZoomLevelProperty =
|
public static readonly DependencyProperty MaxZoomLevelProperty =
|
||||||
|
|
@ -43,11 +43,11 @@ namespace MapControl
|
||||||
(map, oldValue, newValue) => map.MaxZoomLevelPropertyChanged(newValue));
|
(map, oldValue, newValue) => map.MaxZoomLevelPropertyChanged(newValue));
|
||||||
|
|
||||||
public static readonly DependencyProperty ZoomLevelProperty =
|
public static readonly DependencyProperty ZoomLevelProperty =
|
||||||
DependencyPropertyHelper.Register<MapBase, double>(nameof(ZoomLevel), 1d,
|
DependencyPropertyHelper.Register<MapBase, double>(nameof(ZoomLevel), DefaultZoomLevel,
|
||||||
(map, oldValue, newValue) => map.ZoomLevelPropertyChanged(newValue));
|
(map, oldValue, newValue) => map.ZoomLevelPropertyChanged(newValue));
|
||||||
|
|
||||||
public static readonly DependencyProperty TargetZoomLevelProperty =
|
public static readonly DependencyProperty TargetZoomLevelProperty =
|
||||||
DependencyPropertyHelper.Register<MapBase, double>(nameof(TargetZoomLevel), 1d,
|
DependencyPropertyHelper.Register<MapBase, double>(nameof(TargetZoomLevel), DefaultZoomLevel,
|
||||||
(map, oldValue, newValue) => map.TargetZoomLevelPropertyChanged(newValue));
|
(map, oldValue, newValue) => map.TargetZoomLevelPropertyChanged(newValue));
|
||||||
|
|
||||||
public static readonly DependencyProperty HeadingProperty =
|
public static readonly DependencyProperty HeadingProperty =
|
||||||
|
|
@ -59,7 +59,7 @@ namespace MapControl
|
||||||
(map, oldValue, newValue) => map.TargetHeadingPropertyChanged(newValue));
|
(map, oldValue, newValue) => map.TargetHeadingPropertyChanged(newValue));
|
||||||
|
|
||||||
public static readonly DependencyProperty ViewScaleProperty =
|
public static readonly DependencyProperty ViewScaleProperty =
|
||||||
DependencyPropertyHelper.Register<MapBase, double>(nameof(ViewScale), 0d);
|
DependencyPropertyHelper.Register<MapBase, double>(nameof(ViewScale));
|
||||||
|
|
||||||
private static readonly DependencyProperty AnimatedCenterProperty =
|
private static readonly DependencyProperty AnimatedCenterProperty =
|
||||||
DependencyPropertyHelper.Register<MapBase, Windows.Foundation.Point>(nameof(AnimatedCenter),
|
DependencyPropertyHelper.Register<MapBase, Windows.Foundation.Point>(nameof(AnimatedCenter),
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue