using System.Collections.Concurrent;
|
using System.Globalization;
|
using System.Windows.Data;
|
|
namespace OpenTapEditor
|
{
|
public class RunningIdConverter : IMultiValueConverter
|
{
|
public static RunningIdConverter Instance { get; } = new RunningIdConverter();
|
private RunningIdConverter()
|
{
|
|
}
|
|
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
|
{
|
if (values[0] is IDictionary<Guid, bool> map && values[1] is Guid id)
|
{
|
return map.ContainsKey(id);
|
}
|
else if (values[0] is Guid targetId && values[1] is Guid sourceId)
|
{
|
return targetId == sourceId;
|
}
|
else if (values[0] is IList<Guid> list && values[1] is Guid sourceId2)
|
{
|
return list.Contains(sourceId2);
|
}
|
return false;
|
}
|
|
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
|
{
|
return new object[0];
|
}
|
}
|
}
|