我正在使用.Net Maui
和.Net 7
开发一个应用程序。在我的一个页面中,我需要显示我们的客户的名称和地址的列表,以及4个按钮。为了避免长时间的加载过程,我想使用Community Toolkit Expander
,并将名称放在Expander.Header
中,其余项目放在正文中。
问题是它在ListView
或CollectionView
加载后抛出了NullReferenceException
(我试过这两个,它们出现了同样的问题)。这不是我的数据的问题,因为当我只是显示VerticalStackLayout
中的所有信息时,没有抛出异常。
它曾经在我使用Xamarin.Forms
开发的应用程序的以前版本上工作,所以我想知道这是否可能是.Net Maui Community Toolkit
中的某种bug,但我没有发现任何其他人有同样的问题。
下面是我的代码:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
...
<ListView ItemsSource="{Binding SearchResults}"
HasUnevenRows="True"
SeparatorVisibility="None">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell x:DataType="m:ProjetoResumo">
<toolkit:Expander>
<toolkit:Expander.Header>
<VerticalStackLayout BackgroundColor="{StaticResource WhiteColor}"
Margin="7"
Padding="5">
<Label Text="{Binding Nome}"
TextColor="{StaticResource DarkBlueColor}"
FontFamily="MontSemiBold"/>
<Image Source="expandarrow.png"
HeightRequest="20"
WidthRequest="20"
HorizontalOptions="End">
</Image>
</VerticalStackLayout>
</toolkit:Expander.Header>
<VerticalStackLayout>
<Label Text="{Binding Endereco}"
FontSize="Caption"/>
<Grid ColumnDefinitions="*,*,*,*"
HeightRequest="32"
Margin="0, 5, 0, 0">
<ImageButton Source="info.png"
Grid.Column="0"/>
<ImageButton Source="phone.png"
Grid.Column="1"/>
<ImageButton Source="whatsapp.png"
Grid.Column="2"/>
<ImageButton Source="location.png"
Grid.Column="3"/>
</Grid>
</VerticalStackLayout>
</toolkit:Expander>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
下面是异常所呈现的调用堆栈:
0xFFFFFFFFFFFFFFFF in Android.Runtime.JNIEnv.monodroid_debugger_unhandled_exception C#
0x1A in Android.Runtime.JNINativeWrapper._unhandled_exception at /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs:12,5 C#
0x1D in Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PP_V at /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs:23,26 C#
0xB in CommunityToolkit.Maui.Views.Expander. at /_/src/CommunityToolkit.Maui/Views/Expander/Expander.shared.cs:201,42 C#
0x6 in Microsoft.Maui.Dispatching.Dispatcher. at D:\a\_work\1\s\src\Core\src\Dispatching\Dispatcher.Android.cs:22,24 C#
0xE in Java.Lang.Thread.RunnableImplementor.Run at /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Java.Lang/Thread.cs:36,6 C#
0x8 in Java.Lang.IRunnableInvoker.n_Run at /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net7.0/android-33/mcw/Java.Lang.IRunnable.cs:84,4 C#
0x8 in Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PP_V at /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs:22,5 C#
1条答案
按热度按时间ffdz8vbo1#
基于您的代码,我创建了一个演示并进行了测试,它在我这边工作正常。
您可以参考以下代码:
ProjetoResumo.cs
我的视图模型.cs
主页.xaml