1
我想我在這裏失去了一些東西,我希望有人能幫助我。我有這個類我使用實體框架:WPF Combobox與DisplayValue和SelectValue無法正常工作
在SQL Server 2008,我有這樣的表稱爲PartsList具有與VendorDetail表的外鍵關係。
在XAML中,我有一個DataGrid:
<Grid DataContext="{StaticResource PartsListsSource}">
<DataGrid x:Name="partsListsDataGrid" AutoGenerateColumns="False" EnableRowVirtualization="True"
ItemsSource="{Binding}"
RowDetailsVisibilityMode="VisibleWhenSelected">
<DataGrid.Columns>
<DataGridTextColumn x:Name="partsListIDColumn" Binding="{Binding PartsListID}"
Header="Parts List ID" Width="SizeToHeader" />
<DataGridTextColumn x:Name="partIDColumn" Binding="{Binding PartID}" Header="Part ID"
Width="SizeToHeader" />
<DataGridTemplateColumn x:Name="vendorNameColumn"
Width="Auto"
Header="Vendor Name">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding RelativeSource={RelativeSource AncestorType=UserControl}, Path=DataContext.VendorDetails}"
DisplayMemberPath="VendorName"
SelectedValuePath="VendorID"
SelectedItem="{Binding VendorID}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn x:Name="vendorPartNoColumn" Binding="{Binding VendorPartNo}"
Header="Vendor Part No" Width="SizeToHeader" />
<DataGridTextColumn x:Name="descriptionColumn" Binding="{Binding Description}"
Header="Description" Width="SizeToHeader" />
</DataGrid.Columns>
</DataGrid>
</Grid>
現在所有的其他列,不同的是組合框的工作。
我知道VendorID有點令人困惑,所以只是爲了澄清:我創建了VendorDetail的列表,我希望ComboBox使用VendorDetail.VendorID和VendorDetail.VendorName,並將其設置爲PartList .VendorID是供應商詳細信息的外鍵。
那麼,我做錯了什麼?