コード例 #1
0
        /// <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;
        }
コード例 #2
0
 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;
     }
 }
コード例 #3
0
 /// <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;
 }