当前位置: 代码迷 >> Android >> Windows应用商店中与Android相同的BaseAdapter
  详细解决方案

Windows应用商店中与Android相同的BaseAdapter

热度:81   发布时间:2023-08-04 12:46:41.0

我有很多要以格式显示在ListView中的Integer项。 通常,在Android上,我会扩展BaseAdapter(这是动态创建View / Control的示例):

public View getView(int position, View convertView, ViewGroup parent) {
    if(convertView!=null){
        //inflate convertView if it doesn't exist 
    }
    MyView v = (MyView)convertView;
    v.setId(position);
    v.setNumber(myIntegerArray[position]);
    return v;
}

我想知道如何在Windows应用商店的C#中执行此操作。 我找不到有关此主题的任何有意义的信息。

我不想每次都创建List(或其他ItemsSource对象),因为它会占用太多内存,而且速度很慢(我必须刷新数组值)。

基于XAML的UI技术具有称为的功能,该功能可减少处理基于项目的UI( )中呈现的大量数据时的内存消耗和处理时间。

为了做到这一点,在保持在基础数据集合中添加/删除/更改项时随时更新UI的能力的同时,您需要将UI 到 :

<ListBox ItemsSource="{Binding}"/>

后面的代码:

var numbers = Enumerable.Range(0,100);
DataContext = new ObservableCollection<int>(numbers);

请记住,基于XAML的UI技术中基于声明性 ,基于DataBinding的方法实际上不同于其他框架中的过程方法。 在XAML中,你永远需要创建程序代码UI元素, 定义他们在XAML,然后将DataBind已对UI数据项的相关集合,以及UI框架会完成剩下的工作。

  相关解决方案