public AsyncObservableCollection(IEnumerable <T> items, ISingleThreadedInvoker ui) : base(ui) { _ui = ui; _hashCheck = new HashSet <T>(items); _addedInTransaction = new ConcurrentQueue <T>(); _removedInTransaction = new ConcurrentQueue <T>(); _backingCollection = ui.Invoke(() => { var bc = new ObservableCollection <T>(_hashCheck); Count = bc.Count; bc.CollectionChanged += OnBackingCollectionChanged; INotifyPropertyChanged exp = bc; exp.PropertyChanged += OnBackingCollectionPropertyChanged; return(bc); }); }
public AsyncObservableCollection(ISingleThreadedInvoker ui, params IEnumerable <T>[] itemses) : this(SelectFromMany(itemses), ui) { }
public AsyncObservableCollection(ISingleThreadedInvoker ui) : this(Enumerable.Empty <T>(), ui) { }
protected InvokableViewModel(ISingleThreadedInvoker invoker) { StaInvoker = invoker; }