Wpf DataGridTemplateColumn内的绑定
我有一个学术电子产品集合,它是使用实体框架从数据库中获取的Wpf DataGridTemplateColumn内的绑定,wpf,entity-framework,binding,lazy-loading,selecteditem,Wpf,Entity Framework,Binding,Lazy Loading,Selecteditem,我有一个学术电子产品集合,它是使用实体框架从数据库中获取的 讲师是讲师列表模型中的一个属性: 我想在DataGrid中显示数据库中的所有讲师(网格的所有单元格都是可编辑的;当用户单击保存按钮时,所有数据都将保存在数据库中)。 问题在于将最近的学位绑定到combobox。我试着这样做: ItemsSource=“{Binding讲师}”已正确绑定。单击复选框后将显示列表。但在程序启动后,复选框中的值为空。为什么?我怎样才能修好它 PS.讲师ListViewModel绑定在代码隐藏中。您的对象
讲师
是讲师列表模型
中的一个属性:
我想在DataGrid
中显示数据库中的所有讲师(网格的所有单元格都是可编辑的;当用户单击保存按钮时,所有数据都将保存在数据库中)。
问题在于将最近的学位绑定到combobox。我试着这样做:
ItemsSource=“{Binding讲师}”
已正确绑定。单击复选框后将显示列表。但在程序启动后,复选框中的值为空。为什么?我怎样才能修好它
PS.讲师ListViewModel
绑定在代码隐藏中。您的对象需要通过提供更改通知。(因此,如果延迟加载完成,则需要为属性发出通知)如果要将枚举值绑定到组合框,则必须提供带有枚举值的IEnumerable。实现这一点的最简单方法是在资源中定义ObjectDataProvider
xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:MyEnums="clr-namespace:LocalNamespaceWhereAcademicDegreeIsDefined"
...
<Window.Resources>
<ObjectDataProvider x:Key="AcademicDegrees" MethodName="GetValues" ObjectType="{x:Type System:Enum}" >
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="MyEnums:AcademicDegree"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<Window.Resources>
...
...
<ComboBox SelectedItem="{Binding AcademicDegree}" ItemsSource="{Binding Source={StaticResource AcademicDegrees}}" />
...
...
xmlns:System=“clr命名空间:系统;程序集=mscorlib”
xmlns:MyEnums=“clr命名空间:LocalNamespaceWherecadeMicDegreeIsDefined”
...
...
...
...
...
嘿!绑定到Name
即使不实现INotifyPropertyChanged
,也可以工作。只是组合框不能正常工作。我已将我的讲师
类更改为,但在组合框
中仍然没有选定值。怎么了?@patryk.beza:有太多的事情可能是错误的,通知只是最常见的原因之一。。。
xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:MyEnums="clr-namespace:LocalNamespaceWhereAcademicDegreeIsDefined"
...
<Window.Resources>
<ObjectDataProvider x:Key="AcademicDegrees" MethodName="GetValues" ObjectType="{x:Type System:Enum}" >
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="MyEnums:AcademicDegree"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<Window.Resources>
...
...
<ComboBox SelectedItem="{Binding AcademicDegree}" ItemsSource="{Binding Source={StaticResource AcademicDegrees}}" />
...
...