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 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 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]; } } }