alielie
2026-09-10 9ec80cafc23f5ee3278cacce3c9f86f4087b435a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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];
        }
    }
}