// 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); }
/// <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); } }
/// <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); }