Miy*_*ang 2 c# xaml android maui
我目前正在使用 .NET MAUI 开发应用程序,但遇到了无法解决的问题。我在调试的时候,在android平台上导航页面时,遇到了一个奇怪的异常
\n该应用程序有两个选项卡:主页和自助。登录后,用户将进入“主页”选项卡。但是,当我尝试从主页导航到任何其他页面时,应用程序会抛出以下错误并随后崩溃:
\n\n\n无法访问已处置的对象。\n对象名称: \xe2\x80\x98Microsoft.Maui.Platform.ContentViewGroup\'
\n
这是我的 xaml 代码:
\n<?xml version="1.0" encoding="utf-8" ?>\n<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"\n xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"\n x:Class="Views.Dashboard.HomePageDashboard"\n Title="HomePageDashboard">\n\n<Shell.TitleView>\n <Grid>\n <Grid.RowDefinitions>\n <RowDefinition Height="*" />\n </Grid.RowDefinitions>\n <Grid.ColumnDefinitions>\n <ColumnDefinition Width="9*" />\n <ColumnDefinition Width="*" />\n </Grid.ColumnDefinitions>\n <Frame \n \n Grid.Column="1"\n HeightRequest="40"\n WidthRequest="40"\n CornerRadius="20"\n BackgroundColor="Transparent"\n HorizontalOptions="Center"\n VerticalOptions="Center"\n IsClippedToBounds="True"\n Padding="0"\n >\n <Border BackgroundColor="{StaticResource PrimaryColorLight}">\n <Label Text="{Binding ProfileImageLabel}" TextColor="White" FontSize="Micro" LineBreakMode="WordWrap" HorizontalOptions="Center" VerticalOptions="Center"/>\n <Border.GestureRecognizers>\n <TapGestureRecognizer Command="{Binding GotoProfileCommand}"/>\n </Border.GestureRecognizers>\n </Border>\n </Frame>\n </Grid>\n\n </Shell.TitleView>\n <VerticalStackLayout Margin="0,30,0,0">\n <Label Text="Categories" FontSize="Subtitle" FontAttributes="Bold" FontFamily="Bold" HorizontalOptions="Start" VerticalOptions="Start" TextColor="{AppThemeBinding Light={StaticResource Black},Dark={StaticResource Gray400}}"/>\n <Frame CornerRadius="10" Margin="0,20,0,0">\n\n <ListView x:Name="listCategories" Margin="-20,-10,-20,-20"\n BackgroundColor="Transparent" RowHeight="60"\n SeparatorColor="Gray" SeparatorVisibility="Default"\n SelectedItem="{Binding ItemSelectedlv}"\n ItemSelected="OnItemSelected">\n\n <ListView.ItemTemplate>\n\n <DataTemplate>\n <ViewCell>\n <StackLayout>\n <Grid x:DataType="model:HomePageListInfo">\n <Grid.ColumnDefinitions>\n <ColumnDefinition Width="2*" />\n <ColumnDefinition Width="7*" />\n <ColumnDefinition Width="*" />\n </Grid.ColumnDefinitions>\n <Image Grid.Column="0" HorizontalOptions="Center" VerticalOptions="Center"\n HeightRequest="50"\n WidthRequest="50"\n Source="{Binding ImageResource}"\n />\n <Label Grid.Column="1"\n Style="{StaticResource CategoryListlabelStyle}"\n FontSize="18"\n Text="{Binding ListViewItemDescription}"\n FontAttributes="Bold" />\n <Image Grid.Column="2" HorizontalOptions="Center" VerticalOptions="Center">\n <Image.Source>\n <FontImageSource\n x:Name="fontimage"\n FontFamily="AwesomeSolid"\n Glyph=""\n Size="20"\n Color="{AppThemeBinding Light={StaticResource Black},Dark={StaticResource White}}"/>\n </Image.Source>\n </Image>\n </Grid>\n </StackLayout>\n </ViewCell>\n </DataTemplate>\n </ListView.ItemTemplate>\n </ListView>\n </Frame>\n </VerticalStackLayout>\nRun Code Online (Sandbox Code Playgroud)\n有趣的是,如果我导航到“自助”选项卡并尝试从那里导航到其他页面,则不会发生错误并且应用程序按预期运行。
\n我尝试捕获并处理异常,但我仍然不确定问题的根本原因。我将非常感谢任何有关如何解决此问题的见解或建议。
\n版本:VS2022 17.6\n我正在使用 .net 7
\n我搜索了你提到的异常消息,在github上发现了类似的问题,关于由于后台操作中的入口元素导致MAUI应用程序错误。
在某些情况下,该帧会导致异常System.ObjectDisposedException: 'Cannot access a disposed object.。
所以你可以尝试在maui中使用边框而不是使用框架。