예제 #1
0
        /// <summary>
        /// コレクション変更時のイベントハンドラー
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void CollectionChangedEvent(object?sender, NotifyCollectionChangedEventArgs e)
        {
            // 非同期版イベントが購読されていなければ何もしない
            if (CollectionChangedAsync is null)
            {
                return;
            }

            Task.WhenAll(
                CollectionChangedAsync.GetInvocationList()
                .OfType <NotifyCollectionChangedEventAsync>()
                .Select(x => x.Invoke(sender, e))
                );
        }
예제 #2
0
 protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs e)
 {
     base.OnCollectionChanged(e);
     _collectionChangedTask = CollectionChangedAsync?.Invoke(this, e);
 }