Browse Source

Use comparer

pull/8765/head
Nikita Tsukanov 4 years ago
parent
commit
23316d5230
  1. 15
      src/Avalonia.Base/VisualTree/VisualExtensions.cs

15
src/Avalonia.Base/VisualTree/VisualExtensions.cs

@ -413,7 +413,7 @@ namespace Avalonia.VisualTree
Index = index,
ZIndex = element.ZIndex,
})
.OrderBy(x => x, null)
.OrderBy(x => x, ZOrderElement.Comparer)
.Select(x => x.Element!);
}
@ -448,6 +448,19 @@ namespace Avalonia.VisualTree
public int Index { get; set; }
public int ZIndex { get; set; }
class ZOrderComparer : IComparer<ZOrderElement>
{
public int Compare(ZOrderElement? x, ZOrderElement? y)
{
if (ReferenceEquals(x, y)) return 0;
if (ReferenceEquals(null, y)) return 1;
if (ReferenceEquals(null, x)) return -1;
return x.CompareTo(y);
}
}
public static IComparer<ZOrderElement> Comparer { get; } = new ZOrderComparer();
public int CompareTo(ZOrderElement? other)
{
if (other is null)

Loading…
Cancel
Save