Han*_*afa 5 data-binding wpf xaml entity-framework
我有一个WPF /实体框架应用程序,我的模型有学生,类实体在学生和班级之间有多对多关联/关系(学生可以有很多班级,班级有很多学生)
学生[身份证,姓名,班级(导航属性)]班级[身份证,头衔,学生(导航属性)
在这种情况下,实体框架不显示连接/关系表.
我有2个DataGirds作为主要细节,学生网格是主要的,类是细节
如何设置绑定到类gird(细节网格),以便我可以添加和删除所选学生的类?
我想要的是从主网格中选择一个学生并添加或删除他的课程
这是我的课程
<DataGrid x:Name="classesDataGrid"
AutoGenerateColumns="False"
EnableRowVirtualization="True"
Height="200"
ItemsSource="{Binding Source={StaticResource studentClassesViewSource}}"
RowDetailsVisibilityMode="VisibleWhenSelected"
Width="380">
<DataGrid.Columns>
<DataGridComboBoxColumn Header="Class Name From Combo"
Width="*"
ItemsSource="{Binding Source={StaticResource classViewSource}}"
DisplayMemberPath="Name"
SelectedItemBinding="{Binding Students}"
/>
<!--<DataGridTextColumn x:Name="durationColumn"
Binding="{Binding Duration}"
Header="Duration"
Width="SizeToHeader" />-->
</DataGrid.Columns>
Run Code Online (Sandbox Code Playgroud)
当关系是一对多时,这种情况可以正常工作,但我不能使它适用于多对多的关系.
更多关于这个职位 在这里
小智 0
我不确定我是否正确地理解了您的问题:您想知道如何解决 xaml 中的主详细信息绑定问题吗?
如果您有一个学生,其班级集合作为导航属性,您可以简单地为学生使用一个网格,例如:
<DataGrid x:Name="masterGrid"
ItemsSource="{Binding Path=Students}" />
Run Code Online (Sandbox Code Playgroud)
另一个详细信息(您的类 - 或反之亦然,并不重要):在这种情况下,我建议您使用元素名称绑定
<DataGrid x:Name="detailsGrid"
DataContext="{Binding ElementName=masterGrid, Path=SelectedItem}"
ItemsSource="{Binding Path=Classes}" />
Run Code Online (Sandbox Code Playgroud)
希望有帮助(至少对于最初的点火)......
| 归档时间: |
|
| 查看次数: |
823 次 |
| 最近记录: |