Пример #1
0
        // Token: 0x060064DC RID: 25820 RVA: 0x001C4C6C File Offset: 0x001C2E6C
        internal static HierarchicalVirtualizationItemDesiredSizes ApplyCorrectionFactorToItemDesiredSizes(FrameworkElement virtualizingElement, Panel itemsHost)
        {
            HierarchicalVirtualizationItemDesiredSizes value = GroupItem.HierarchicalVirtualizationItemDesiredSizesField.GetValue(virtualizingElement);

            if (!VirtualizingStackPanel.IsVSP45Compat)
            {
                return(value);
            }
            if (itemsHost != null && itemsHost.IsVisible)
            {
                Size      pixelSize               = value.PixelSize;
                Size      pixelSizeInViewport     = value.PixelSizeInViewport;
                Size      pixelSizeBeforeViewport = value.PixelSizeBeforeViewport;
                Size      pixelSizeAfterViewport  = value.PixelSizeAfterViewport;
                bool      flag        = false;
                Thickness value2      = new Thickness(0.0);
                Size      desiredSize = virtualizingElement.DesiredSize;
                if (DoubleUtil.GreaterThan(pixelSize.Height, 0.0))
                {
                    value2            = GroupItem.DesiredPixelItemsSizeCorrectionFactorField.GetValue(virtualizingElement);
                    pixelSize.Height += value2.Bottom;
                    flag              = true;
                }
                pixelSize.Width = Math.Max(desiredSize.Width, pixelSize.Width);
                if (DoubleUtil.AreClose(value.PixelSizeAfterViewport.Height, 0.0) && DoubleUtil.AreClose(value.PixelSizeInViewport.Height, 0.0) && DoubleUtil.GreaterThan(value.PixelSizeBeforeViewport.Height, 0.0))
                {
                    if (!flag)
                    {
                        value2 = GroupItem.DesiredPixelItemsSizeCorrectionFactorField.GetValue(virtualizingElement);
                    }
                    pixelSizeBeforeViewport.Height += value2.Bottom;
                    flag = true;
                }
                pixelSizeBeforeViewport.Width = Math.Max(desiredSize.Width, pixelSizeBeforeViewport.Width);
                if (DoubleUtil.AreClose(value.PixelSizeAfterViewport.Height, 0.0) && DoubleUtil.GreaterThan(value.PixelSizeInViewport.Height, 0.0))
                {
                    if (!flag)
                    {
                        value2 = GroupItem.DesiredPixelItemsSizeCorrectionFactorField.GetValue(virtualizingElement);
                    }
                    pixelSizeInViewport.Height += value2.Bottom;
                    flag = true;
                }
                pixelSizeInViewport.Width = Math.Max(desiredSize.Width, pixelSizeInViewport.Width);
                if (DoubleUtil.GreaterThan(value.PixelSizeAfterViewport.Height, 0.0))
                {
                    if (!flag)
                    {
                        value2 = GroupItem.DesiredPixelItemsSizeCorrectionFactorField.GetValue(virtualizingElement);
                    }
                    pixelSizeAfterViewport.Height += value2.Bottom;
                }
                pixelSizeAfterViewport.Width = Math.Max(desiredSize.Width, pixelSizeAfterViewport.Width);
                value = new HierarchicalVirtualizationItemDesiredSizes(value.LogicalSize, value.LogicalSizeInViewport, value.LogicalSizeBeforeViewport, value.LogicalSizeAfterViewport, pixelSize, pixelSizeInViewport, pixelSizeBeforeViewport, pixelSizeAfterViewport);
            }
            return(value);
        }
Пример #2
0
 /// <summary>
 /// Compares this instance of HierarchicalVirtualizationItemDesiredSizes with another object.
 /// </summary>
 /// <param name="oCompare">Reference to an object for comparison.</param>
 /// <returns><c>true</c>if this HierarchicalVirtualizationItemDesiredSizes instance has the same logical
 /// and pixel sizes as oCompare.</returns>
 override public bool Equals(object oCompare)
 {
     if (oCompare is HierarchicalVirtualizationItemDesiredSizes)
     {
         HierarchicalVirtualizationItemDesiredSizes itemDesiredSizes = (HierarchicalVirtualizationItemDesiredSizes)oCompare;
         return(this == itemDesiredSizes);
     }
     else
     {
         return(false);
     }
 }
Пример #3
0
 /// <summary>
 /// Compares this instance of HierarchicalVirtualizationItemDesiredSizes with another instance.
 /// </summary>
 /// <param name="comparisonItemSizes">Header desired size instance to compare.</param>
 /// <returns><c>true</c>if this HierarchicalVirtualizationItemDesiredSizes instance has the same logical
 /// and pixel sizes as comparisonHeaderSizes.</returns>
 public bool Equals(HierarchicalVirtualizationItemDesiredSizes comparisonItemSizes)
 {
     return(this == comparisonItemSizes);
 }
 /// <summary>
 /// Compares this instance of HierarchicalVirtualizationItemDesiredSizes with another instance.
 /// </summary>
 /// <param name="comparisonItemSizes">Header desired size instance to compare.</param>
 /// <returns><c>true</c>if this HierarchicalVirtualizationItemDesiredSizes instance has the same logical 
 /// and pixel sizes as comparisonHeaderSizes.</returns>
 public bool Equals(HierarchicalVirtualizationItemDesiredSizes comparisonItemSizes)
 {
     return (this == comparisonItemSizes);
 }