更新整理

This commit is contained in:
GG Z
2025-04-24 20:56:44 +08:00
parent 155cef46f8
commit 5b6d67b571
813 changed files with 14437 additions and 12362 deletions

View File

@@ -161,7 +161,7 @@ public abstract class VirtualizingPanelBase : VirtualizingPanel, IScrollInfo
{
/* Sometimes when scrolling the scrollbar gets hidden without any reason. In this case the "IsMeasureValid"
* property of the ScrollOwner is false. To prevent a infinite circle the mesasure call is ignored. */
if(ScrollOwner != null)
if (ScrollOwner != null)
{
var verticalScrollBarGotHidden =
ScrollOwner.VerticalScrollBarVisibility == ScrollBarVisibility.Auto &&
@@ -176,7 +176,7 @@ public abstract class VirtualizingPanelBase : VirtualizingPanel, IScrollInfo
_previousVerticalScrollBarVisibility = ScrollOwner.ComputedVerticalScrollBarVisibility;
_previousHorizontalScrollBarVisibility = ScrollOwner.ComputedHorizontalScrollBarVisibility;
if(!ScrollOwner.IsMeasureValid && verticalScrollBarGotHidden || horizontalScrollBarGotHidden)
if (!ScrollOwner.IsMeasureValid && verticalScrollBarGotHidden || horizontalScrollBarGotHidden)
{
return availableSize;
}
@@ -185,7 +185,7 @@ public abstract class VirtualizingPanelBase : VirtualizingPanel, IScrollInfo
Size extent;
Size desiredSize;
if(ItemsOwner is IHierarchicalVirtualizationAndScrollInfo groupItem)
if (ItemsOwner is IHierarchicalVirtualizationAndScrollInfo groupItem)
{
/* If the ItemsOwner is a group item the availableSize is ifinity.
* Therfore the vieport size provided by the group item is used. */
@@ -228,7 +228,7 @@ public abstract class VirtualizingPanelBase : VirtualizingPanel, IScrollInfo
/// <inheritdoc/>
protected override void OnItemsChanged(object sender, ItemsChangedEventArgs args)
{
switch(args.Action)
switch (args.Action)
{
case NotifyCollectionChangedAction.Remove:
case NotifyCollectionChangedAction.Replace:
@@ -250,14 +250,14 @@ public abstract class VirtualizingPanelBase : VirtualizingPanel, IScrollInfo
using var at = ItemContainerGenerator.StartAt(startPosition, GeneratorDirection.Forward, true);
for(int i = ItemRange.StartIndex; i <= ItemRange.EndIndex; i++, childIndex++)
for (int i = ItemRange.StartIndex; i <= ItemRange.EndIndex; i++, childIndex++)
{
var child = (UIElement)ItemContainerGenerator.GenerateNext(out var isNewlyRealized);
if(isNewlyRealized || !InternalChildren.Contains(child)/*recycled*/
if (isNewlyRealized || !InternalChildren.Contains(child)/*recycled*/
)
{
if(childIndex >= InternalChildren.Count)
if (childIndex >= InternalChildren.Count)
{
AddInternalChild(child);
}
@@ -271,7 +271,7 @@ public abstract class VirtualizingPanelBase : VirtualizingPanel, IScrollInfo
child.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
}
if(child is not IHierarchicalVirtualizationAndScrollInfo groupItem)
if (child is not IHierarchicalVirtualizationAndScrollInfo groupItem)
{
continue;
}
@@ -309,31 +309,31 @@ public abstract class VirtualizingPanelBase : VirtualizingPanel, IScrollInfo
{
var invalidateScrollInfo = false;
if(extent != Extent)
if (extent != Extent)
{
Extent = extent;
invalidateScrollInfo = true;
}
if(availableSize != Viewport)
if (availableSize != Viewport)
{
Viewport = availableSize;
invalidateScrollInfo = true;
}
if(ViewportHeight != 0 && VerticalOffset != 0 && VerticalOffset + ViewportHeight + 1 >= ExtentHeight)
if (ViewportHeight != 0 && VerticalOffset != 0 && VerticalOffset + ViewportHeight + 1 >= ExtentHeight)
{
Offset = new Point(Offset.X, extent.Height - availableSize.Height);
invalidateScrollInfo = true;
}
if(ViewportWidth != 0 && HorizontalOffset != 0 && HorizontalOffset + ViewportWidth + 1 >= ExtentWidth)
if (ViewportWidth != 0 && HorizontalOffset != 0 && HorizontalOffset + ViewportWidth + 1 >= ExtentWidth)
{
Offset = new Point(extent.Width - availableSize.Width, Offset.Y);
invalidateScrollInfo = true;
}
if(invalidateScrollInfo)
if (invalidateScrollInfo)
{
ScrollOwner?.InvalidateScrollInfo();
}
@@ -344,18 +344,18 @@ public abstract class VirtualizingPanelBase : VirtualizingPanel, IScrollInfo
/// </summary>
protected virtual void VirtualizeItems()
{
for(var childIndex = InternalChildren.Count - 1; childIndex >= 0; childIndex--)
for (var childIndex = InternalChildren.Count - 1; childIndex >= 0; childIndex--)
{
var generatorPosition = GetGeneratorPositionFromChildIndex(childIndex);
var itemIndex = ItemContainerGenerator.IndexFromGeneratorPosition(generatorPosition);
if(itemIndex == -1 || ItemRange.Contains(itemIndex))
if (itemIndex == -1 || ItemRange.Contains(itemIndex))
{
continue;
}
if(VirtualizationMode == VirtualizationMode.Recycling)
if (VirtualizationMode == VirtualizationMode.Recycling)
{
ItemContainerGenerator.Recycle(generatorPosition, 1);
}
@@ -404,7 +404,7 @@ public abstract class VirtualizingPanelBase : VirtualizingPanel, IScrollInfo
{
get
{
if(_itemContainerGenerator is not null)
if (_itemContainerGenerator is not null)
{
return _itemContainerGenerator;
}
@@ -440,7 +440,7 @@ public abstract class VirtualizingPanelBase : VirtualizingPanel, IScrollInfo
{
get
{
if(_itemsOwner is not null)
if (_itemsOwner is not null)
{
return _itemsOwner;
}
@@ -509,22 +509,22 @@ public abstract class VirtualizingPanelBase : VirtualizingPanel, IScrollInfo
var scrollAmountX = 0d;
var scrollAmountY = 0d;
if(pos.X < Offset.X)
if (pos.X < Offset.X)
{
scrollAmountX = -(Offset.X - pos.X);
}
else if(pos.X + rectangle.Width > Offset.X + Viewport.Width)
else if (pos.X + rectangle.Width > Offset.X + Viewport.Width)
{
var notVisibleX = pos.X + rectangle.Width - (Offset.X + Viewport.Width);
var maxScrollX = pos.X - Offset.X; // keep left of the visual visible
scrollAmountX = Math.Min(notVisibleX, maxScrollX);
}
if(pos.Y < Offset.Y)
if (pos.Y < Offset.Y)
{
scrollAmountY = -(Offset.Y - pos.Y);
}
else if(pos.Y + rectangle.Height > Offset.Y + Viewport.Height)
else if (pos.Y + rectangle.Height > Offset.Y + Viewport.Height)
{
var notVisibleY = pos.Y + rectangle.Height - (Offset.Y + Viewport.Height);
var maxScrollY = pos.Y - Offset.Y; // keep top of the visual visible
@@ -543,7 +543,7 @@ public abstract class VirtualizingPanelBase : VirtualizingPanel, IScrollInfo
/// <inheritdoc/>
public void MouseWheelDown()
{
if(MouseWheelScrollDirection == ScrollDirection.Vertical)
if (MouseWheelScrollDirection == ScrollDirection.Vertical)
{
ScrollVertical(ScrollUnit == ScrollUnit.Pixel ? MouseWheelDelta : GetMouseWheelDownScrollAmount());
}
@@ -564,7 +564,7 @@ public abstract class VirtualizingPanelBase : VirtualizingPanel, IScrollInfo
/// <inheritdoc/>
public void MouseWheelUp()
{
if(MouseWheelScrollDirection == ScrollDirection.Vertical)
if (MouseWheelScrollDirection == ScrollDirection.Vertical)
{
ScrollVertical(ScrollUnit == ScrollUnit.Pixel ? -MouseWheelDelta : GetMouseWheelUpScrollAmount());
}
@@ -594,11 +594,11 @@ public abstract class VirtualizingPanelBase : VirtualizingPanel, IScrollInfo
/// </summary>
public void SetHorizontalOffset(double offset)
{
if(offset < 0 || Viewport.Width >= Extent.Width)
if (offset < 0 || Viewport.Width >= Extent.Width)
{
offset = 0;
}
else if(offset + Viewport.Width >= Extent.Width)
else if (offset + Viewport.Width >= Extent.Width)
{
offset = Extent.Width - Viewport.Width;
}
@@ -613,11 +613,11 @@ public abstract class VirtualizingPanelBase : VirtualizingPanel, IScrollInfo
/// </summary>
public void SetVerticalOffset(double offset)
{
if(offset < 0 || Viewport.Height >= Extent.Height)
if (offset < 0 || Viewport.Height >= Extent.Height)
{
offset = 0;
}
else if(offset + Viewport.Height >= Extent.Height)
else if (offset + Viewport.Height >= Extent.Height)
{
offset = Extent.Height - Viewport.Height;
}