Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf DataGridTemplateColumn内的绑定_Wpf_Entity Framework_Binding_Lazy Loading_Selecteditem - Fatal编程技术网

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}}" />
 ...
 ...