【发布时间】:2019-10-03 21:49:37
【问题描述】:
我有一个天气 VM,可以完美地获取我的城市和国家/地区代码,但我正在尝试将其余数据绑定到 XAML。 我所有的数据都存储在数组中,由于某种原因,当我循环时,变量 i 不会增加并且应用程序崩溃。
我也有icon的问题,我有一个list,就是我的Listview的itemsource,但是Icon在另一个数组上
我尝试循环,并分配每个变量,循环总是崩溃
var splitedData = cityData.Split(",");
var city = splitedData[0];
var conutryCode = splitedData[1];
var data = await WeatherAPI.GetWeatherDataAsync(city, conutryCode);
if (data != null) {
for (int i = 0; i < data.list.Count; i++) {
rootObject.list[i].dt_txt = data.list[i].dt_txt;
rootObject.list[i].main.temp_max = data.list[i].main.temp_max;
rootObject.list[i].main.temp_min = data.list[i].main.temp_min;
rootObject.list[i].weather[i].icon
}
}
}
xaml 列表视图
Margin="20" ItemsSource="{Binding rootObject.list}">
<ListView.ItemTemplate>
<DataTemplate>
<RelativePanel>
<TextBlock x:Name="dateTB"
Text="{Binding dt_txt}"
RelativePanel.RightOf="iconTB"
RelativePanel.AlignTopWith="iconTB" />
<TextBlock x:Name="highTB"
Text="{Binding main.temp_max}"
RelativePanel.RightOf="iconTB"
RelativePanel.Below="dateTB"
FontSize="10" />
<TextBlock x:Name="lowTB"
RelativePanel.RightOf="highTB"
RelativePanel.Below="dateTB"
FontSize="10"
Text="{Binding main.temp_min}"
Margin="10,0,0,0" />
<Image x:Name="iconTB"
Source="{}"
Height="30"
Width="30"
/>
</RelativePanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我希望出现日期,出现最高价和最低价。
我也不知道如何绑定图标,因为图标在 Weather 中,而不是 RootObject 列表,这是我列表的 itemsource
【问题讨论】:
-
图标存储在
rootObject.list[i].weather[i].icon