Exemple #1
0
        public void Pos(View view,
                        double x, RelativePosition xRel,
                        double y, RelativePosition yRel,
                        double width, RelativePosition widthRel,
                        double height, RelativePosition heightRel)
        {
            Position  p = new Position(x, xRel, y, yRel, width, widthRel, height, heightRel);
            Rectangle r = p.GetRectangle();

            //AbsoluteLayout.SetLayoutBounds((View)view, r);

            if (view is INukeView)
            {
                INukeView nuke = (INukeView)view;
                nuke.Position = p;
            }
            else
            {
                if (positions.ContainsKey(view))
                {
                    positions[view] = p;
                }
                else
                {
                    positions.Add(view, p);
                }

                if (view is Layout <View> )
                {
                    view.SizeChanged += view_SizeChanged;
                }
            }
        }
Exemple #2
0
        private void UpdateLayout(Layout <View> layout)
        {
            for (int i = 0; i < layout.Children.Count; i++)
            {
                View v = layout.Children[i];
                if (v is INukeView)
                {
                    INukeView nuke = (INukeView)v;
                    PositionElement(v, nuke);
                }
                else
                {
                    Position p;
                    if (positions.TryGetValue(v, out p))
                    {
                        PositionElement(v, p);
                    }
                }

                if (v is Layout <View> )
                {
                    Layout <View> l = (Layout <View>)v;
                    UpdateLayout(l);
                }
            }
        }
Exemple #3
0
        private void PositionElement(View v, INukeView p)
        {
            //AbsoluteLayout.SetLayoutBounds(v,
            //        new Rectangle(
            //            Position.GetValue(p.X, p.XRel),
            //            Position.GetValue(p.Y, p.YRel),
            //            Position.GetValue(p.Width, p.WidthRel),
            //            Position.GetValue(p.Height, p.HeightRel)));

            if (v is Layout <View> )
            {
                UpdateLayout((Layout <View>)v);
            }
        }