コード例 #1
0
        public virtual void MoveToTopSelectedItem()
        {
            if (Items == null || !Items.Any())
            {
                return;
            }

            foreach (var i in Items)
            {
                i.IsSelectedItemForView = false;
            }

            if (!SelectedItemIsNull)
            {
                SelectedItem.IsSelectedItemForView = true;
            }

            var item = SelectedItem;

            var notSelected = Items.Where(x => !x.IsSelectedItemForView).ToList();

            Items.Clear();
            Items.Add(item);
            Items.AddRange(notSelected);

            SelectedItem = item;

            Notify(nameof(Items));
            CreateNewCommand?.NotifyCanExecuteChanged();
        }
コード例 #2
0
 public virtual void ClearItems()
 {
     if (Items != null && AnyItem())
     {
         Items.Clear();
         Notify(nameof(Items));
         CreateNewCommand?.NotifyCanExecuteChanged();
     }
 }
コード例 #3
0
 public virtual void Remove(T item)
 {
     if (Items != null && AnyItem())
     {
         Items.Remove(item);
         SelectedItem = Items.FirstOrDefault();
         Notify(nameof(Items));
         CreateNewCommand?.NotifyCanExecuteChanged();
     }
 }
コード例 #4
0
 public virtual void AddItem(T item)
 {
     if (Items != null)
     {
         Items.Add(item);
         SelectedItem = item;
         Notify(nameof(Items));
         CreateNewCommand?.NotifyCanExecuteChanged();
     }
 }
コード例 #5
0
 public virtual void RemoveEmptyItems()
 {
     if (Items != null)
     {
         var data = Items.Where(x => x.Id == 0).ToList();
         foreach (var d in data)
         {
             Items.Remove(d);
         }
         CreateNewCommand?.NotifyCanExecuteChanged();
     }
 }
コード例 #6
0
 public void Refresh()
 {
     Notify(nameof(Items));
     CreateNewCommand?.NotifyCanExecuteChanged();
 }