我正在用项目填充Xamarin.Forms.ListView。
public class LCIDEditor : ContentPage
{
private ListView _lv;
private ObservableCollection<TextCell> _ItemList = new ObservableCollection<TextCell>();
public LCIDEditor()
{
this.Title = "LCIDEditor";
_ItemList.Add(new TextCell { Text = "Englisch", Detail = "1033" });
_ItemList.Add(new TextCell { Text = "Deutsch", Detail = "1031" });
_lv = new ListView();
_lv.ItemsSource = _ItemList;
_lv.ItemTemplate = new DataTemplate(typeof(TextCell));
this.Content = _lv;
}
}
在最好的情况下,我得到listview以在ListView中显示类似“Xamarin.Forms.TextCell”的内容而不是任何真实文本。
如果我包括
_lv.ItemTemplate = new DataTemplate(typeof(TextCell));
,我什么也看不见,列表视图一直是空白。
有人能告诉我这里我做错了什么吗? 我仔细阅读了文档,但是它们没有帮助,我看到其他人提出同样的问题,但在其他情况下。
我正试图处理这个(显然不是那么)简单的例子。
答案 0 :(得分:1)
尝试这种方式:
public class LCIDEditor : ContentPage
{
private ListView _lv;
private ObservableCollection<object> _ItemList = new ObservableCollection<object>();
public LCIDEditor()
{
this.Title = "LCIDEditor";
_ItemList.Add(new { Text = "Englisch", Detail = "1033" });
_ItemList.Add(new { Text = "Deutsch", Detail = "1031" });
_lv = new ListView()
{
ItemTemplate = new DataTemplate(typeof(TextCell)),
ItemsSource = _ItemList
};
this.Content = _lv;
}
}
ToList()
结果 - 默认为类型名称。你应该测试代码,我没有在这里运行它。
我希望它适合你