public static bool IsMeasureArrangeValid(this FrameworkElement thisObject)
 {
     if (thisObject == null)
     {
         throw new ArgumentNullException("thisObject");
     }
     if (thisObject.ActualHeight > 0.0 && thisObject.ActualWidth > 0.0)
     {
         return(FrameworkElementExtensions.IsInVisualTree(thisObject));
     }
     return(false);
 }
        public static void InvalidateSubTree(this FrameworkElement thisObject)
        {
            if (thisObject == null)
            {
                throw new ArgumentNullException("thisObject");
            }
            thisObject.InvalidateArrange();
            thisObject.InvalidateMeasure();
            int childrenCount = VisualTreeHelper.GetChildrenCount((DependencyObject)thisObject);

            for (int childIndex = 0; childIndex < childrenCount; ++childIndex)
            {
                FrameworkElementExtensions.InvalidateSubTree((FrameworkElement)VisualTreeHelper.GetChild((DependencyObject)thisObject, childIndex));
            }
        }
Example #3
0
        internal static MatrixTransform GetAnimationTransform(FrameworkElement element)
        {
            Matrix    matrix1     = new Matrix();
            Transform thisObject1 = element.TransformToVisual((Visual)Window.GetWindow((DependencyObject)element)) as Transform;

            if (thisObject1 != null)
            {
                matrix1 = MatrixHelper.Multiply(matrix1, TransformExtensions.GetMatrix(thisObject1));
            }
            Transform thisObject2 = FrameworkElementExtensions.RenderTransformToAncestor(element, (DependencyObject)null).Inverse as Transform;

            if (thisObject2 != null)
            {
                matrix1 = MatrixHelper.Multiply(matrix1, TransformExtensions.GetMatrix(thisObject2));
            }
            return(new MatrixTransform()
            {
                Matrix = matrix1
            });
        }
 public static Transform TrackableRenderTransformToAncestor(this FrameworkElement element, DependencyObject parent)
 {
     return(FrameworkElementExtensions.TransformToAncestorHelper(element, parent, TrackableRenderTransform.TransformProperty));
 }