如何解决Prism Navigation.GoBackAsync 在 UWP 上不断抛出错误
我正在构建一个使用 Prism MVVM 的应用程序。我有包含查找按钮的页面 A 和包含所有可选选项的页面 2。我想要做的是当用户单击查找按钮时,它将导航到第 2 页,然后用户将选择该项目并导航回带有所选项目的第 1 页。但是, Navigation.GoBackAsync(selectedItem) 不断抛出错误
Message = "System.NullReferenceException: 未将对象引用设置为对象的实例。\r\n 在 Xamarin.Forms.Platform.UWP.SelectableItemsVieWrenderer1.UpdateFormsSingleSelection()\r\n at Xamarin.Forms.Platform.UWP.SelectableItemsVieWrenderer
1.UpdateForm...
在 UWP 上(在 Android 上运行良好)。
第 2 页上的导航命令:
private async void OnItemSelectedCommandExecutedAsync(T obj)
{
if (!ItemSelectedCommandCanExecute(obj))
return;
try
{
string objectType = typeof(T).Name.Replace("Model","");
var navigationParams = new NavigationParameters();
navigationParams.Add($"Selected{objectType}",SelectedItem);
await _navigationService.GoBackAsync(navigationParams);
//await _navigationService.NavigateAsync(ReturnPageName,navigationParams);
}
catch (Exception ex)
{
displayError(ex.Message);
}
}
包含第 2 页上的可选项目的集合视图:
<CollectionView VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"
x:Name="lstItems"
ItemsSource="{Binding ItemList}"
SelectionChangedCommand="{Binding ItemSelectedCommand}"
SelectedItem="{Binding SelectedItem}"
SelectionMode="Single"
BackgroundColor="Transparent"
EmptyView="{x:Static resource:StringResources.noresultsFound}">
<CollectionView.ItemTemplate VerticalItemSpacing="20">
<DataTemplate>
<StackLayout BackgroundColor="{Binding .,Converter={StaticResource bgColorPicker},ConverterParameter={x:Reference lstItems}}">
<Grid HorizontalOptions="FillAndExpand" Margin="0,5" Padding="5" ColumnDeFinitions="*,*,*" RowDeFinitions="Auto,Auto,Auto">
<Label Text="{Binding WorkOrderNo}" Grid.Column="0" VerticalOptions="Start"/>
<Label Text="{Binding InventoryNumber}" Grid.Column="1" VerticalOptions="Start"/>
<Label Text="{Binding PartNo}" Grid.Column="2" VerticalOptions="Start"/>
<StackLayout Orientation="Vertical" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="3" VerticalOptions="Start">
<Label Text="{Binding Description}"/>
</StackLayout>
<StackLayout Orientation="Vertical" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="3" VerticalOptions="Start">
<Label Text="{Binding Task}"/>
</StackLayout>
</Grid>
</StackLayout>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
我在 Xamarin GitHub (https://github.com/xamarin/Xamarin.Forms/issues/11090) 上发现了此错误,他们说已修复,但我在 5.0 版中仍然遇到此错误。有人知道如何解决这个错误吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。