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

Pre*_*eek 3 c# listview xamarin.forms

我有一个简单的页面与ListView

<ListView x:Name="ForecastView">
    <ListView.ItemTemplate>
        <DataTemplate>
            <TextCell Text="{Binding mainData.Temperature}" />
        </DataTemplate>
    </ListView.ItemTemplate>
 </ListView>
Run Code Online (Sandbox Code Playgroud)

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

private ObservableCollection<ForecastData> forecast = new ObservableCollection<ForecastData>();
Run Code Online (Sandbox Code Playgroud)

我在构造函数中设置它:

ForecastView.ItemsSource = forecast;
Run Code Online (Sandbox Code Playgroud)

我的模型看起来像这样:

public class ForecastData
    {
        public MainData mainData;
.....
public class MainData
    {
        public double Temperature;
...
Run Code Online (Sandbox Code Playgroud)

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

Ger*_*uis 6

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

您只能绑定到属性.

所以改变:

public MainData mainData;
Run Code Online (Sandbox Code Playgroud)

至:

public MainData mainData { get; set; }
Run Code Online (Sandbox Code Playgroud)

它应该工作!

Temperature当然的.