Exemplo n.º 1
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            var container = value as IClozeContainer;

            if (container == null)
            {
                return(value);
            }

            var enumerator = container.GetEnumerator();

            if (enumerator == null)
            {
                return(value);
            }

            var items = new Dictionary <int, ICloze>();

            while (enumerator.MoveNext())
            {
                var item = (ICloze)enumerator.Current;
                items.Add(item.LocationIndex, item);
            }

            var results = new ICloze[container.Capacity];

            for (var i = 0; i < container.Capacity; i++)
            {
                results[i] = items.ContainsKey(i) ? items[i] : container.NewItem(i);
            }

            return(new ObservableCollection <ICloze>(results));
        }
Exemplo n.º 2
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            var container = value as IClozeContainer;
            if (container == null) return value;

            var enumerator = container.GetEnumerator();
            if (enumerator == null) return value;

            var items = new Dictionary<int, ICloze>();

            while (enumerator.MoveNext())
            {
                var item = (ICloze)enumerator.Current;
                items.Add(item.LocationIndex, item);
            }

            var results = new ICloze[container.Capacity];

            for (var i = 0; i < container.Capacity; i++)
            {
                results[i] = items.ContainsKey(i) ? items[i] : container.NewItem(i);
            }

            return new ObservableCollection<ICloze>(results);
        }