Example #1
0
        /// <summary>
        /// TreeItem中删除项,返回删除项所在位置
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="instance"></param>
        /// <param name="source"></param>
        /// <param name="item"></param>
        public static int ReMoveItem <T>(this ITreeItemsOption instance, ObservableCollection <T> source, T item) where T : ITreeItem
        {
            var index = source.IndexOf(item);

            source.Remove(item);
            Resort(source);
            return(index);
        }
Example #2
0
        /// <summary>
        /// TreeItem中插入项,并返回插入位置
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="instance"></param>
        /// <param name="source"></param>
        /// <param name="currentItem"></param>
        /// <param name="newitem"></param>
        /// <param name="position"></param>
        /// <returns></returns>
        public static int Insert <T>(this ITreeItemsOption instance, ObservableCollection <T> source, T currentItem, T newitem, Position position) where T : ITreeItem
        {
            var index    = source.IndexOf(currentItem);
            var newIndex = position == Position.Above ? index : index + 1;

            source.Insert(newIndex, newitem);
            Resort(source);
            return(newIndex);
        }
Example #3
0
        /// <summary>
        /// TreeItem中项上移, 返回当前菜单的新位置索引
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="instance"></param>
        /// <param name="source"></param>
        /// <param name="item"></param>
        public static int MoveUp <T>(this ITreeItemsOption instance, ObservableCollection <T> source, T item) where T : ITreeItem
        {
            var index = source.IndexOf(item);

            if (index > 0)
            {
                source.Move(index, index - 1);
                Resort(source);
                return(index - 1);
            }
            return(-1);
        }
Example #4
0
 /// <summary>
 /// TreeItem中增加项
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="instance"></param>
 /// <param name="source"></param>
 /// <param name="item"></param>
 public static void AddItem <T>(this ITreeItemsOption instance, ObservableCollection <T> source, T item) where T : ITreeItem
 {
     item.SetValue(item, "Sequence", source.Count);
     source.Add(item);
 }