我正在制作一个WPF天气应用程序,并且在将数据绑定到我的Listview时遇到了问题 . 我查看了教程,但我发现的只是包含一个类的基本示例 . 这是我的C#代码:

[Serializable, XmlRoot("Cities")]
public class Cities
{
    [XmlElement("City")]
    public List<City> CitiesList { get; set; }       
}

//[XmlElement("DailyForecast")]
//public List<DailyForecast> daily_forecast = new List<DailyForecast>();

public class DailyForecast
{

    [XmlElement]
    public string Day { get; set; }
    [XmlElement]
    public int Temperature { get; set; }
    [XmlElement]
    public string Humidity { get; set; }
    [XmlElement]
    public string Weather { get; set; }

}

public class HourForecast
{
    [XmlElement]
    public string Day { get; set; }
    [XmlElement]
    public int Temperature { get; set; }
    [XmlElement]
    public string Humidity { get; set; }
    [XmlElement]
    public string Weather { get; set; }

}

public class Statistics
{

    [XmlElement]
    public string Month { get; set; }
    [XmlElement]
    public int TempAvg { get; set; }
    [XmlElement]
    public int TempMax { get; set; }
    [XmlElement]
    public int TempMin { get; set; }

}

public class City : INotifyPropertyChanged
{
    [XmlElement("DailyForecast")]
    public List<DailyForecast> daily_forecast = new List<DailyForecast>();

    [XmlElement("HourForecast")]
    public List<HourForecast> hour_forecast = new List<HourForecast>();

    [XmlElement("Statistics")]
    public List<Statistics> stats = new List<Statistics>();

    public event PropertyChangedEventHandler PropertyChanged;

    private void NotifyPropertyChanged(String info)
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(info));
    }
}...

City类包含三个列表,我试图以某种方式链接到XAML中的ListView元素 . XML文件如下所示:

<Cities>
  <City>
    <!--Začetek dnevne napovedi-->
    <DailyForecast>     
        <Day>Ponedeljek</Day>
        <Temperature>17</Temperature>
        <Humidity>65%</Humidity>
        <Weather>Soncno</Weather>
    </DailyForecast>
    <DailyForecast>
        <Day>Torek</Day>
        <Temperature>17</Temperature>
        <Humidity>65%</Humidity>
        <Weather>oblacno</Weather>
    </DailyForecast>
    <HourForecast>      
        <Day>0:00</Day>
        <Temperature>22</Temperature>
        <Humidity>55%</Humidity>
        <Weather>oblacno</Weather>
    </HourForecast>
    <HourForecast>
        <Day>1:00</Day>
      <Temperature>22</Temperature>
      <Humidity>55%</Humidity>
      <Weather>oblacno</Weather>
    </HourForecast>
    <Statistics>      
        <Month>Januar</Month>
        <TempAvg>25</TempAvg>
        <TempMax>30</TempMax>
        <TempMin>10</TempMin>
    </Statistics>
    <Statistics>
        <Month>Februar</Month>
      <TempAvg>25</TempAvg>
      <TempMax>30</TempMax>
      <TempMin>10</TempMin>
    </Statistics>
</City>
</Cities>

对于ListView,我将ItemsSource用于绑定,并将ListView.Template放在ListViewItems周围:

<ListView Grid.Column="4" Grid.Row="0" Name="vreme_7dni" MouseDoubleClick="vreme_7dni_MouseDown" Grid.ColumnSpan="2" ItemsSource="{Binding City.daily_forecast}">
                        <ListView.ItemTemplate>
                            <DataTemplate>
                                <ListViewItem>
                                    <StackPanel>
                                        <TextBlock Text="{Binding Day}"></TextBlock>
                                        <TextBlock Text="{Binding Temperature}"></TextBlock>
                                        <TextBlock Text="{Binding Humidity}"></TextBlock>
                                        <TextBlock Text="{Binding Weather}"></TextBlock>
                                    </StackPanel>
                                </ListViewItem>
                            </DataTemplate>
                        </ListView.ItemTemplate>
                    </ListView>

我已经链接了包含温度,湿度等所有对象的List . 我在City中为每个List都有三个ListView,它们都被ItemTemplate / DataTemplate包围,但是当我加载XML文件时没有显示任何内容 .

我很感激一些反馈,因为我在WPF中是一个巨大的菜鸟,对于大块的代码也很抱歉,我希望我的问题尽可能清楚 . 谢谢!