Xamarin表单ListView数据绑定嵌套对象

时间:2016-12-06 12:39:05

标签: c# listview xamarin.forms

我有一个带ListView的简单页面

<ListView x:Name="ForecastView">
    <ListView.ItemTemplate>
        <DataTemplate>
            <TextCell Text="{Binding mainData.Temperature}" />
        </DataTemplate>
    </ListView.ItemTemplate>
 </ListView>

我试图通过使用.来访问它来绑定嵌套属性。我的项目来源:

private ObservableCollection<ForecastData> forecast = new ObservableCollection<ForecastData>();

我在构造函数中设置它:

ForecastView.ItemsSource = forecast;

我的模型看起来像这样:

public class ForecastData
    {
        public MainData mainData;
.....
public class MainData
    {
        public double Temperature;
...

在REST调用之后,我的列表由元素填充(我可以选择它们),但text属性为空。你能帮我弄清楚出了什么问题。我已经尝试了一切,没有任何帮助(我已经阅读了Stack Overflow上的所有类似问题)。

1 个答案:

答案 0 :(得分:6)

问题是您正在尝试绑定到公共字段。

您只能绑定到属性。

所以改变:

public MainData mainData;

要:

public MainData mainData { get; set; }

它应该有效!

当然也适用于Temperature