我是Xamarin表单的新手,正在寻找列出项目的控件。我想使用数据源或不使用数据源添加/删除/更新项目。我想ListView是我想要的。我正在寻找一个选项,可以从后面的代码中添加/删除列表中的项目。到目前为止,我尝试通过以下手动方式进行操作。我将控件命名为“ Lista”,以便能够从后面的代码中对其进行引用。这样,我直接添加了项目,但我想通过使用like后面的代码来填充它。 Lista.Add("something")
和Lista.Remove("something")
仍然没有找到该选项。请提供样品建议。当列表数据来自数据源时,我也将很感激。
<ListView x:Name="Lista">
<ListView.ItemsSource>
<x:Array Type="{x:Type x:String}">
<x:String>mono</x:String>
<x:String>monodroid</x:String>
<x:String>mononucleosis</x:String>
</x:Array>
</ListView.ItemsSource>
</ListView>
奖励问题: 有没有可以处理两列数据的控件?
答案 0 :(得分:0)
您可以执行以下操作:
//创建一个可观察的集合
ObservableCollection<your_object_type> observableCollection = new ObservableCollection<your_object_type>();
observableCollection.Add(your_object);
Lista.Itemsource = observableCollection ;
然后,您可以在XAML中使用数据绑定来绑定到your_object具有的这种属性:
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding your_object_property1}" Detail="{Binding your_object_property2}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
答案 1 :(得分:0)
为此,有两种可能的方法。首先,将Component10
设置为Lista.ItemSource
,就像字符串列表一样。然后,每次更改此列表时,都必须“更新” IEnumerable
,基本上就是这样:
Lista.ItemSource
我不是这种方法的忠实拥护者,但确实有效。
另一种选择是使用private void RefreshList()
{
Lista.ItemsSource = null;
Lista.ItemsSource = your_list;
}
(类似于可观察的字符串集合)并将其设置为ObservableCollection
:
Lista.ItemsSource
然后,每次添加,删除或更新列表时,ListView都会自动更新。那是最好的方法。