Отмена выбора элемента в ListView приводит к тому, что приложение IOS превращается в sh в Xamarin.forms 4.5 - PullRequest
0 голосов
/ 29 апреля 2020

Я использую Список в Моем приложении. Когда я ухожу от существующей страницы, которая имеет вид списка, я устанавливаю selectedItem как ноль

Я на последней версии Xamarin. IOS. Xamarin Forms --- 4.5

Я перехожу на страницу 2, и когда я возвращаюсь на свою страницу 1, я устанавливаю для выбранного элемента значение null.

Как отменить выбор элемента ListView без Приложение зависало?

Исключение: исключение нулевой ссылки

Xamarin.Forms.Platform. iOS .ContextActionsCell.get_ScrollDelegate () [0x00000] в d: \ a \ 1 \ s \ Xamarin.Forms.Platform. .iOS \ ContextActionCell.cs: 65 \ n в Xamarin.Forms.Platform. iOS .ContextActionsCell.PrepareForDeselect () [0x00000] в d: \ a \ 1 \ s \ Xamarin.Forms.Platform.iOS \ ContextActionCell.cs : 114 \ n в Xamarin.Forms.Platform. iOS .ListViewRenderer + ListViewDataSource.OnItemSelected (отправитель System.Object, Xamarin.Forms.SelectedItemChangedEventArgs eventArg) [0x00068] в d: \ a \ 1 \ s \ xmar. Platform.iOS \ Renderers \ ListViewRenderer.cs: 1157 \ n в (делегат-вызов оболочки) System.EventHandler`

public void on Appearing()
      {
      this.myListView.selectedItem = null ;
      }

private async void ItemSelected(object sender, SelectedItemChangedEventArgs e)
    {
    if (e.SelectedItem != null) {

         await Navigation.PushAsync(new Page2(e.SelectedItem as AllItems));   

           } else {
                   // display alert
                  }
    }

Мой ListView:

<ListView Margin="5,0,5,0" ItemsSource="{Binding AllItems}" SelectedItem="{Binding SelectedItem}" ItemSelected="ItemSelected" x:Name="myListView" HasUnevenRows=" true" CachingStrategy="RecycleElement">
...