Exemple #1
0
            protected override void OnRedrawing()
            {
                InvalidElementAdorner invalidElementAdorner = this.AdornerList == null || this.AdornerList.Count <= 0 ? (InvalidElementAdorner)null : (InvalidElementAdorner)this.AdornerList[0];

                if (invalidElementAdorner == null)
                {
                    return;
                }
                SceneView defaultView = this.Element.ViewModel.DefaultView;
                bool      flag        = this.cachedSizes == null || this.cachedTransforms == null;

                for (int index = 0; !flag && index < invalidElementAdorner.TargetElements.Count; ++index)
                {
                    SceneElement sceneElement = invalidElementAdorner.TargetElements[index];
                    if (defaultView.IsInArtboard(sceneElement))
                    {
                        Size   size;
                        Matrix matrix;
                        this.GetElementLayout(sceneElement, out size, out matrix);
                        flag = !size.Equals(this.cachedSizes[index]) || matrix != this.cachedTransforms[index];
                    }
                    else
                    {
                        flag = true;
                    }
                }
                if (!flag)
                {
                    return;
                }
                this.InvalidateStructure();
            }
Exemple #2
0
            protected override void CreateAdorners()
            {
                InvalidElementAdorner invalidElementAdorner = new InvalidElementAdorner((AdornerSet)this);

                this.AddAdorner((Adorner)invalidElementAdorner);
                this.cachedSizes      = new List <Size>(invalidElementAdorner.TargetElements.Count);
                this.cachedTransforms = new List <Matrix>(invalidElementAdorner.TargetElements.Count);
                for (int index = 0; index < invalidElementAdorner.TargetElements.Count; ++index)
                {
                    Size   size;
                    Matrix matrix;
                    this.GetElementLayout(invalidElementAdorner.TargetElements[index], out size, out matrix);
                    this.cachedSizes.Add(size);
                    this.cachedTransforms.Add(matrix);
                }
            }