예제 #1
0
파일: Item.cs 프로젝트: mrigger/benchmarks
        static private void UpdateChildrenFrames(XF.Item parent)
        {
            foreach (XF.Item child in parent)
            {
                var view = ViewOfItem(child);
                var lp   = view.LayoutParameters;

                var mlp = lp as ViewGroup.MarginLayoutParams;
                if (mlp != null)
                {
                    mlp.LeftMargin = (int)child.FrameX;
                    mlp.TopMargin  = (int)child.FrameY;
                }
                else
                {
                    throw new NotSupportedException("child does not have margin layout params");
                }

                lp.Width  = (int)child.FrameWidth;
                lp.Height = (int)child.FrameHeight;

                view.LayoutParameters = lp;

                UpdateChildrenFrames(child);
            }
        }
예제 #2
0
파일: Item.cs 프로젝트: mrigger/benchmarks
        public new void Add(XF.Item child)
        {
            base.Add(child);
#if WINDOWS_UWP
#else
            view.AddSubview((child as Base).view);
#endif
        }
예제 #3
0
파일: Item.cs 프로젝트: mrigger/benchmarks
 static private View ViewOfItem(XF.Item item)
 {
     if (item is Base)
     {
         return(((Base)item).view);
     }
     if (item is LayoutItem)
     {
         return(((LayoutItem)item).view);
     }
     throw new NotSupportedException("use Item or LayoutItem instead");
 }
예제 #4
0
파일: Item.cs 프로젝트: mrigger/benchmarks
        public new void InsertAt(int index, XF.Item child)
        {
            base.InsertAt(index, child);
#if __IOS__
            view.InsertSubview((child as Base).view, index);
#elif WINDOWS_UWP
#else
            if (index == 0)
            {
                view.AddSubview((child as Base).view);
            }
            var previousIndex = index - 1;
            var previousView  = view.Subviews[previousIndex];
            view.AddSubview((child as Base).view, AppKit.NSWindowOrderingMode.Above, previousView);
#endif
        }
예제 #5
0
파일: Item.cs 프로젝트: mrigger/benchmarks
 public new void InsertAt(int index, XF.Item child)
 {
     base.InsertAt(index, child);
     view.AddView(ViewOfItem(child), index);
 }
예제 #6
0
파일: Item.cs 프로젝트: mrigger/benchmarks
 public new void Add(XF.Item child)
 {
     base.Add(child);
     view.AddView(ViewOfItem(child));
 }
예제 #7
0
파일: Item.cs 프로젝트: mrigger/benchmarks
 public new void InsertAt(int index, XF.Item child)
 {
     throw new NotSupportedException("use LayoutItem instead");
 }
예제 #8
0
파일: Item.cs 프로젝트: mrigger/benchmarks
 public new void Add(XF.Item child)
 {
     throw new NotSupportedException("use LayoutItem instead");
 }
예제 #9
0
파일: Item.cs 프로젝트: woehrl01/flex
 public new void InsertAt(int index, XF.Item child)
 {
     base.InsertAt(index, child);
     view.InsertSubview((child as Base).view, index);
 }
예제 #10
0
파일: Item.cs 프로젝트: woehrl01/flex
 public new void Add(XF.Item child)
 {
     base.Add(child);
     view.AddSubview((child as Base).view);
 }