2016-09-13 1 views
0

Ok я использовал Руководство Xamarin для пользовательской List View (https://developer.xamarin.com/guides/xamarin-forms/custom-renderer/listview/)Xamarin PCL Настраиваемый список Просмотр не обновляя View

Общей информации сканировать QR-коду и добавить информацию из этого в пользовательской Listview добавления элемента в список

затем я, как элементы в ListView

if (ScannedObjectList.Items.Count() != ScannedObjectListItems.Count()) 
{ 
    ScannedObjectList.Items = ScannedObjectListItems; 
} 

, которое происходит один раз и через отладку я обнаружил, что ListView правильно обновляет товары на внутреннем объекте списка, но не обновляет вид с этим пунктом в UWP после первого раза добавляется элемент. (на Android мне нужно заставить это с BeginRefresh + EndRefresh, потому что он не обновляется каждый раз, когда я добавляю элемент). В UWP у меня есть обходное решение, установив ScannedObjectList.Items в null, а затем переустановив его в список позиций.

if(await DependencyService.Get<IDependencyService>().ExecuteCode("UWP")) 
{ 
    ScannedTicketList.Items = null; 
    ScannedTicketList.Items = ScannedTicketListItems; 
} 

Функция DependencyService только потому, что это создает проблемы на Android.

Мой вопрос теперь есть «чистый» способ сделать это, или я вообще делаю что-то неправильно? Потому что я не могу поверить, что этот хак мог быть намеченным путем

(Не отправлять больше коды, потому что это по существу такие же, как в Xamarin примере)

+0

делает ваш Исходный источник списка INotifyCollectionChanged? – Jason

+0

hmm ok нет, я этого не сделал, мог бы сделать это. Любые примеры? – chromos33

ответ

0

Попробуйте

ScannedTicketList.BeginRefresh(); 
ScannedTicketList.Items = ScannedTicketListItems; 
ScannedTicketList.EndRefresh(); 
+0

Не имеет значения для UWP. На Android это решает проблему, у меня есть с 1 элементом, всегда оставленным вне списка, но на UWP в стороне от ListObj-> null-> ListObj не будет обновлять его ... но это своего рода хакка – chromos33

Смежные вопросы