/// <summary> /// 컨트롤에서 발생한 이벤트를 이용해서 뷰모델의 프로퍼티에 작업 /// </summary> /// <param name="sender"></param> /// <param name="event"></param> void ControlToViewModel_VectorChanged(IObservableVector <object> sender, IVectorChangedEventArgs @event) { if (_isLock == true) { return; } _isLock = true; //Reset, ItemInserted만 발생함 switch (@event.CollectionChange) { case CollectionChange.Reset: ((IList)SelectedItems).Clear(); break; case CollectionChange.ItemInserted: var item = sender.ElementAt((int)@event.Index); ((IList)SelectedItems).Add(item); break; case CollectionChange.ItemRemoved: if (true) { } //디버그 break; case CollectionChange.ItemChanged: if (true) { } //디버그 break; } _isLock = false; }
private void Items_VectorChanged(IObservableVector<object> sender, IVectorChangedEventArgs e) { var index = (int)e.Index; switch (e.CollectionChange) { case CollectionChange.Reset: ReAddItemsToFlyout(); break; case CollectionChange.ItemInserted: AddItemToFlyout(sender.ElementAt(index)); break; case CollectionChange.ItemRemoved: MenuFlyout.Items.RemoveAt(index); break; case CollectionChange.ItemChanged: MenuFlyout.Items.RemoveAt(index); InsertItemToFlyout(sender.ElementAt(index), index); break; } }
/// <summary> /// 컨트롤에서 발생한 이벤트를 이용해서 뷰모델의 프로퍼티에 작업 /// </summary> /// <param name="sender"></param> /// <param name="event"></param> void ControlToViewModel_VectorChanged(IObservableVector<object> sender, IVectorChangedEventArgs @event) { if (_isLock == true) return; _isLock = true; //Reset, ItemInserted만 발생함 switch (@event.CollectionChange) { case CollectionChange.Reset: ((IList)SelectedItems).Clear(); break; case CollectionChange.ItemInserted: var item = sender.ElementAt((int)@event.Index); ((IList)SelectedItems).Add(item); break; case CollectionChange.ItemRemoved: if (true) { } //디버그 break; case CollectionChange.ItemChanged: if (true) { } //디버그 break; } _isLock = false; }