Browse Source

Fixed invalid cast issue if source isn't visual

pull/4872/head
Yoh Deadfall 6 years ago
parent
commit
dad0c4d18a
  1. 10
      src/Avalonia.Controls/Primitives/SelectingItemsControl.cs

10
src/Avalonia.Controls/Primitives/SelectingItemsControl.cs

@ -356,17 +356,13 @@ namespace Avalonia.Controls.Primitives
/// <returns>The container or null if the event did not originate in a container.</returns>
protected IControl? GetContainerFromEventSource(IInteractive eventSource)
{
var parent = (IVisual)eventSource;
while (parent != null)
for (var current = eventSource as IVisual; current != null; current = current.VisualParent)
{
if (parent is IControl control && control.LogicalParent == this
&& ItemContainerGenerator?.IndexFromContainer(control) != -1)
if (current is IControl control && control.LogicalParent == this &&
ItemContainerGenerator?.IndexFromContainer(control) != -1)
{
return control;
}
parent = parent.VisualParent;
}
return null;

Loading…
Cancel
Save