我需要原生ListView
更新项目数据。
1。使用Xamarin.Forms ListView。带有DataItem
的简单INotifyPropertyChanged
模型:
List<DataItem> Data = new List<DataItem>();
// ... fill Data
ListView listDevice = new ListView();
listDevice.ItemsSource = Data;
listDevice.ItemTemplate = new DataTemplate(typeof(DataView));
...
void BtnTest_Clicked(object sender, EventArgs e)
{
Data[0].DeviceName = "Update OK";
}
点击btnTest后,我立即在第一个ListView元素中看到“Update OK”。一切都很好。
2。使用Renderer for ListView。我使用WorkingWithListviewNative示例,它具有渲染器和适配器。我将DataSource2
替换为DataItem
模型(无处不在)并添加相同的btnTest。带有数据的列表是可见的,但是当点击按钮时没有任何变化。向下滚动向上看我的变化。
我需要将哪些代码添加到渲染器(到OnElementPropertyChanged?)或适配器?
答案 0 :(得分:0)
而不是List使用ObservableCollection,你不需要在处理它时进行属性更改通知。