C# 数据绑定和列表中的列表

C# 数据绑定和列表中的列表,c#,wpf,C#,Wpf,我做了一个示例项目来说明我的问题。它可以完整下载(),但下面是简要说明: 我有以下数据模型: Course Name Book Name Pages Note Number Lines Note Number 实际数据是课程实例列表,其中每个实例都包含页面实例列表(“页面”),其中每个实例都包含线型对象列表(“行”)。 我的目标是将此结构绑定到以下UI: 正确设置数据上下文后,更改课程选择将更改相关书籍

我做了一个示例项目来说明我的问题。它可以完整下载(),但下面是简要说明:

我有以下数据模型:

Course
  Name
  Book
    Name
    Pages
      Note
      Number
      Lines
        Note
        Number
实际数据是课程实例列表,其中每个实例都包含页面实例列表(“页面”),其中每个实例都包含线型对象列表(“行”)。 我的目标是将此结构绑定到以下UI:

正确设置数据上下文后,更改课程选择将更改相关书籍文本和页面注释列表。然而,我无法深入:我无法做到这一点,因此“行注释”列表会根据“页面注释”列表中的选择进行更改

“行注释”列表不为空的唯一原因是我在XAML中写道:



所以它总是显示第一页项目的Lines属性。如何用“页面注释”列表框中的选择索引替换该0

将ItemsSource绑定更改为:

ItemsSource="{Binding Path=SelectedItem.Lines, ElementName=listBox2}"

然后,当您在页面列表中选择页面时,注释列表将正确更新。

尝试将您的绑定设置为页面列表框中的所选项目:

<ListBox Height="80" x:Name="listBox3" ItemsSource="{Binding SelectedItem.Lines, ElementName=listBox2}" />

请参阅本文:谢谢大家,现在一切都讲得通了。:)