Синхронизация форм xamarin ListView ItemAppearing - PullRequest
0 голосов
/ 31 октября 2019

Я использую Syncfusion ListView для создания списка на формах xamarin

Я хочу использовать опцию ItemAppearing в listview

Я использовал этот ПРИМЕР на веб-сайте: https://help.syncfusion.com/cr/cref_files/xamarin/Syncfusion.SfListView.XForms~Syncfusion.ListView.XForms.SfListView.html

и этот ПРИМЕР: https://help.syncfusion.com/cr/cref_files/xamarin/Syncfusion.SfListView.XForms~Syncfusion.ListView.XForms.SfListView~ItemAppearing_EV.html#ExampleBookmark

Я использую этот пример и обнаружил эту проблему

ListView.ItemAppearing +=listView_ItemAppearing;

public void listView_ItemAppearing(object sender, Syncfusion.ListView.XForms.ItemAppearingEventArgs e)
        {
           var temp= e.ItemData as IEnumerable<ListViewCall>;
            //temp.ToList();
        }

Я бросил e.ItemData на List<ListViewCall> и получил null

e.ItemData имеет данные, но var temp - это null

С чего бы это?

Ответы [ 2 ]

0 голосов
/ 03 ноября 2019
           public void listView_ItemAppearing(object sender, Syncfusion.ListView.XForms.ItemAppearingEventArgs e)
    {
        if (e.ItemData is GroupResult)
        {
            var listViewCalls = (e.ItemData as GroupResult).Items as EnumerableQuery<ListViewCall>;
            foreach (var listViewCall in listViewCalls)
            {

            }
        }
        else if (e.ItemData is ListViewCall)
        {
            var listViewCall = e.ItemData as ListViewCall;


        }


        // foreach (Object obj in e.ItemData.GetType().GetProperties(System.Reflection.BindingFlags.Public | BindingFlags.Instance))
        // {
        //    string s = (obj as Call).Title;
        //}


    }
0 голосов
/ 01 ноября 2019

ItemData : Получает базовый объект данных ListViewItem, когда элемент появляется из связанного источника данных.

, поэтому e.ItemData вернет вам объект привязки. Как и в примере выше, он вернет объект BookInfo.

public void listView_ItemAppearing(object sender, Syncfusion.ListView.XForms.ItemAppearingEventArgs e)
    {
       var temp= e.ItemData as BookInfo;           
    }
...