Beispiel #1
0
        public static bool IsFirstChildOfParent(this OutlineItem item)
        {
            if (item.IndexInParent() == 0)
            {
                return(true);
            }

            if (item.IndexInParent() == -1)
            {
                throw new InvalidOperationException();
            }

            return(false);
        }
Beispiel #2
0
        public static void ReplaceWith(this OutlineItem itemToReplace, OutlineItem item)
        {
            var parent = itemToReplace.ParentItem;
            var index  = itemToReplace.IndexInParent();

            parent.Items.RemoveAt(index);
            parent.Items.Insert(index, item);
        }
Beispiel #3
0
        public static bool IsLastChildOfParent(this OutlineItem item)
        {
            var indexInParent = item.IndexInParent();

            if (indexInParent != -1)
            {
                if (item.ParentItem.Items.Count == indexInParent + 1)
                {
                    return(true);
                }
            }

            throw new InvalidOperationException();
        }
Beispiel #4
0
        public static OutlineItem PreviousSibling(this OutlineItem item)
        {
            var indexInParent = item.IndexInParent();

            if (indexInParent == -1)
            {
                return(null);
            }

            if (!item.IsFirstChildOfParent())
            {
                return(item.ParentItem.Items[indexInParent - 1]);
            }

            return(null);
        }
Beispiel #5
0
        public static OutlineItem NextSibling(this OutlineItem item)
        {
            var indexInParent = item.IndexInParent();

            if (indexInParent == -1)
            {
                return(null);
            }

            if (!item.IsLastChildOfParent())
            {
                return(item.ParentItem.Items[indexInParent + 1]);
            }

            return(null);
        }