예제 #1
0
        public bool TryAddElement(string name, SkiaElement element)
        {
            int rank;

            if (!_orderedViewLayerDefinitions.TryGetValue(name, out rank))
            {
                return(false);
            }

            UIElementData data = new UIElementData(element, name, rank);

            int position = 0;

            while (position < _elements.Count)
            {
                UIElementData existing = _elements[position];
                if (existing.Rank > rank)
                {
                    break;
                }

                ++position;
            }

            Children.Insert(position, element);

            //var framework = element as FrameworkElement;
            //if (framework != null)
            //{
            //    framework.Width = this.ActualWidth;
            //    framework.Height = this.ActualHeight;
            //}

            _elements.Insert(position, data);

            return(true);
        }
예제 #2
0
 public UIElementData(SkiaElement element, string name, int rank)
 {
     this.Element = element;
     this.Name    = name;
     this.Rank    = rank;
 }