diff --git a/src/Controls/src/SourceGen/KnownMarkups.cs b/src/Controls/src/SourceGen/KnownMarkups.cs index 327fa74788d4..de1d574b4fb2 100644 --- a/src/Controls/src/SourceGen/KnownMarkups.cs +++ b/src/Controls/src/SourceGen/KnownMarkups.cs @@ -480,7 +480,10 @@ internal static bool ProvideValueForReferenceExtension(ElementNode markupNode, S value = $"{namescope.namesInScope[name!].Name}"; return true; } - node = node.Parent as ElementNode; + INode n = node; + while (n.Parent is ListNode ln) + n = ln.Parent; + node = n.Parent as ElementNode; } //TODO report diagnostic diff --git a/src/Controls/tests/Xaml.UnitTests/Issues/Maui31995.xaml b/src/Controls/tests/Xaml.UnitTests/Issues/Maui31995.xaml new file mode 100644 index 000000000000..94c304d1ad13 --- /dev/null +++ b/src/Controls/tests/Xaml.UnitTests/Issues/Maui31995.xaml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Controls/tests/Xaml.UnitTests/Issues/Maui31995.xaml.cs b/src/Controls/tests/Xaml.UnitTests/Issues/Maui31995.xaml.cs new file mode 100644 index 000000000000..28934dec02bb --- /dev/null +++ b/src/Controls/tests/Xaml.UnitTests/Issues/Maui31995.xaml.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +namespace Microsoft.Maui.Controls.Xaml.UnitTests.Issues; +#nullable enable + +public partial class Maui31995 : ContentPage +{ + public Maui31995() => InitializeComponent(); + + int count = 0; + public List ItemsSource = new(); // Added. + + + + private void OnCounterClicked(object? sender, EventArgs e) + { + count++; + } +} \ No newline at end of file