XAML-Map-Control/SampleApps/WpfApplication/LocationToVisibilityConverter.cs

39 lines
1.1 KiB
C#
Raw Normal View History

using System;
using System.Globalization;
using System.Windows;
using System.Windows.Data;
using MapControl;
namespace WpfApplication
{
public class LocationToVisibilityConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
2021-01-12 22:21:03 +01:00
var visibility = Visibility.Collapsed;
if (values.Length == 2 && values[0] is MapBase && values[1] is Point?)
{
var parentMap = (MapBase)values[0];
var position = (Point?)values[1];
if (position.HasValue &&
2021-01-12 22:21:03 +01:00
position.Value.X >= 0d &&
position.Value.Y >= 0d &&
position.Value.X <= parentMap.ActualWidth &&
position.Value.Y <= parentMap.ActualHeight)
{
2012-10-25 08:42:51 +02:00
visibility = Visibility.Visible;
}
}
return visibility;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
}
}