我有一个带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上的所有类似问题)。
答案 0 :(得分:6)
问题是您正在尝试绑定到公共字段。
您只能绑定到属性。
所以改变:
public MainData mainData;
要:
public MainData mainData { get; set; }
它应该有效!
当然也适用于Temperature
。