【发布时间】:2017-01-13 18:17:55
【问题描述】:
我已经尝试将对象列表绑定到listview 很长时间了,但是尽管它可以按预期与不需要编写项目模板的列表(例如ObservableCollection<string>)一起工作,但确实如此不适用于我想要 itembinding 到列表中对象的字段的列表:
MainPage.xaml.cs:
ExampleList = new ObservableCollection<ExampleItem>()
{
new ExampleItem() {Showing = "Item 1"},
new ExampleItem() {Showing = "Item 2"}
};
ListView.ItemsSource = ExampleList;
Mainpage.xaml:
<ListView x:Name="ListView">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding Showing}" TextColor="White"></TextCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
虽然列表项在那里(!),但行中的文本没有显示: Binding Result
我已经尝试过这个解决方案,结果是一样的:Xamarin ListView not displaying any data
回答: 绑定似乎不能(完全)与字段一起使用,变量需要是 properties!
【问题讨论】:
-
您是否在 xaml.cs 构造函数中调用“InitializeComponent()”后为列表设置了 itemouce?我相信“InitializeComponent()”会调用更新绑定,如果你的源是在调用之后设置的,那将解释这种行为。
-
我无法在'Initializecomponent()'之前设置Itemssource,因为组件Listview事先不存在。
-
我有同样的问题,即使我在 XAML 中设置 ItemsSource,正如@VisualManuel 所说的项目出现在列表视图中但内容是空的。
-
@VisualManuel 您应该已经输入了答案并将其标记为答案。你真的救了我很多东西。我的模型是 4 年前写的,今天检查只是为了发现这些只是类中的变量而不是属性。因为你,我才能找到这个。真正让任何开发人员感到困惑的奇怪场景。谢谢。
标签: c# listview xamarin data-binding xamarin.forms