我已经看过这个主题的~15个主题,但似乎都没有解决我的问题。
我在强类型数据集中有两个表。一个是具有主键CategoryID的类别列表。第二个是具有相同CategoryID的外键的Items列表。在我的数据集中,我将两个表之间的关系定义为relCtoI。
我的wpf表单包含一个列出类别的列表框和一个列表框,用于显示用户选择的类别列表框类别中的这些项目。两个列表框都按名称排序。
我的伪XAML看起来像这样:
<Window.Resources>
<CollectionViewSource x:Key="cvsCategories"
Source="{Binding Source={StaticResource MyDataSet}, Path=Categories}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="CategoryName" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
<CollectionViewSource x:Key="cvsItems"
....Same thing for the Items with Path=Items ...
</CollectionViewSource>
<DataTemplate x:Key="myTemplate"
<TextBlock Text="{Binding Source={StaticResource cvsItems}, Path=ItemName}" />
</DataTemplate>
</Window.Resources>
<Grid DataContext="{StaticResource cvsCategories}">
<....define columns />
<ListBox Name="lbxCategories"
Grid.Column="0"
ItemsSource="{Binding}"
DisplayMemberPath="CategoryName" />
<ListBox Name="lbxItems"
Grid.Column="1"
ItemsSource="{Binding Path=relCtoI}"
ItemTemplate="{StaticResource myTemplate}"/>
“类别”列表框工作正常,但“项目”列表框为空。我的XAML出了什么问题?