XAML-Map-Control/SampleApps/Shared/ValueConverters.cs

65 lines
2 KiB
C#
Raw Normal View History

using System;
using System.ComponentModel;
using System.Globalization;
#if WINUI
using Microsoft.UI.Xaml.Data;
#elif UWP
using Windows.UI.Xaml.Data;
2024-05-29 17:19:03 +02:00
#elif AVALONIA
using Avalonia.Data.Converters;
#endif
namespace SampleApplication
{
public class DoubleTriggerConverter : IValueConverter
{
public double Trigger { get; set; }
public object TriggerValue { get; set; }
public object DefaultValue { get; set; }
public object Convert(object value, Type targetType, object parameter, string language)
{
var converter = TypeDescriptor.GetConverter(targetType);
return (double)value == Trigger ? converter.ConvertFrom(TriggerValue) : converter.ConvertFrom(DefaultValue);
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return Convert(value, targetType, parameter, "");
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return ConvertBack(value, targetType, parameter, "");
}
}
2024-05-29 17:19:03 +02:00
public class MapHeadingToVisibilityConverter : IValueConverter
{
2024-05-31 00:07:38 +02:00
public object Convert(object value, Type targetType, object parameter, string language)
2024-05-29 17:19:03 +02:00
{
return (double)value != 0d;
}
2024-05-31 00:07:38 +02:00
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return Convert(value, targetType, parameter, "");
}
2024-05-29 17:19:03 +02:00
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
2024-05-31 00:07:38 +02:00
return ConvertBack(value, targetType, parameter, "");
2024-05-29 17:19:03 +02:00
}
}
}