diff --git a/src/Avalonia.Controls/Repeater/ViewManager.cs b/src/Avalonia.Controls/Repeater/ViewManager.cs
index f4588787e8..d670aa077c 100644
--- a/src/Avalonia.Controls/Repeater/ViewManager.cs
+++ b/src/Avalonia.Controls/Repeater/ViewManager.cs
@@ -200,7 +200,8 @@ namespace Avalonia.Controls
{
if (virtInfo == null)
{
- throw new ArgumentException("Element is not a child of this ItemsRepeater.");
+ //Element is not a child of this ItemsRepeater.
+ return -1;
}
return virtInfo.IsRealized || virtInfo.IsInUniqueIdResetPool ? virtInfo.Index : -1;
diff --git a/src/Avalonia.Layout/NonVirtualizingLayout.cs b/src/Avalonia.Layout/NonVirtualizingLayout.cs
index fba91e66c7..3917830eb7 100644
--- a/src/Avalonia.Layout/NonVirtualizingLayout.cs
+++ b/src/Avalonia.Layout/NonVirtualizingLayout.cs
@@ -32,7 +32,7 @@ namespace Avalonia.Layout
///
public sealed override Size Measure(LayoutContext context, Size availableSize)
{
- return MeasureOverride((VirtualizingLayoutContext)context, availableSize);
+ return MeasureOverride((NonVirtualizingLayoutContext)context, availableSize);
}
///
@@ -49,7 +49,7 @@ namespace Avalonia.Layout
/// The context object that facilitates communication between the layout and its host
/// container.
///
- protected virtual void InitializeForContextCore(VirtualizingLayoutContext context)
+ protected virtual void InitializeForContextCore(LayoutContext context)
{
}
@@ -61,7 +61,7 @@ namespace Avalonia.Layout
/// The context object that facilitates communication between the layout and its host
/// container.
///
- protected virtual void UninitializeForContextCore(VirtualizingLayoutContext context)
+ protected virtual void UninitializeForContextCore(LayoutContext context)
{
}
@@ -83,7 +83,7 @@ namespace Avalonia.Layout
/// of the allocated sizes for child objects or based on other considerations such as a
/// fixed container size.
///
- protected abstract Size MeasureOverride(VirtualizingLayoutContext context, Size availableSize);
+ protected abstract Size MeasureOverride(NonVirtualizingLayoutContext context, Size availableSize);
///
/// When implemented in a derived class, provides the behavior for the "Arrange" pass of
diff --git a/src/Avalonia.Layout/NonVirtualizingLayoutContext.cs b/src/Avalonia.Layout/NonVirtualizingLayoutContext.cs
new file mode 100644
index 0000000000..201ffa7d36
--- /dev/null
+++ b/src/Avalonia.Layout/NonVirtualizingLayoutContext.cs
@@ -0,0 +1,11 @@
+// This source file is adapted from the WinUI project.
+// (https://github.com/microsoft/microsoft-ui-xaml)
+//
+// Licensed to The Avalonia Project under MIT License, courtesy of The .NET Foundation.
+
+namespace Avalonia.Layout
+{
+ public abstract class NonVirtualizingLayoutContext : LayoutContext
+ {
+ }
+}