2016-08-25 3 views
0


я на contentPage (Xamarin форма) с двумя StackLayouts: StackLayoutA, StackLayoutB
StackLayoutA содержит: ListView, BtnForStackLayoutB
StackLayoutB содержит:. Критерии выбора (например, 2 кнопки: BtnA, BtnB)
Оба добавлены в StackLayout Main ContentPage.ContentPage обновление первого StackLayout на основе 2-го выбора

BtnForStackLayoutB - кнопка, которая делает StackLayoutB.IsvIsible = True/False;

Основываясь на моем клике BtnA/BtnB, я хочу обновить ListView от StackLayoutA. Я использую следующий код, который обновляет ItemSource listview, но не отображается на странице

lisview.ItemsSource = null;
lisview.BeginRefresh();
lisview.ItemsSource = _SelectionRuleList;
lisview.EndRefresh();

У меня отсутствуют какие-либо дополнительные настройки?

ответ

0

Согласно описанию, я вижу, что вы используете Xamarin.Forms Приложения, разработанные с использованием Xamarin.Forms могут использовать ViewModels (MVVM).

Учитывая это требование, все, что я могу придумать, имеет список в MainViewModel, и получение связано с ListView.

Теперь, когда щелкнули BtnA/BtnB, соответствующие функции могут фактически обновить список, присутствующий в MainViewModel, таким образом обновив ListView.

Я создал образец, демонстрирующий функциональные возможности: https://github.com/anubhavranjan/ListViewTest

Вы можете прочитать больше о Data Binding в here.

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