我是wpf和DataBinding的新手。我在一个小应用程序中尝试了wpf。 现在我将CollectionViewSource与combobox结合使用时遇到了问题
在Datagrid中我显示表“OrderDetails”的内容 现在问题是:我想将“PartId”字段显示为Combox。 combox应包含所有“Parts”并显示“Name”而不是PartId
(抱歉,我无法上传数据库布局图片)
表 OrderDetails : Id ,OrderId,PartId,Count
表部件: ID ,名称,描述,价格
<DataGrid Margin="80,0,0,0" Background="Transparent" HeadersVisibility="Column"
ItemsSource="{Binding Source={StaticResource projectsOrderdetailsViewSource}}">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Fahrzeug" Width="SizeToHeader">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox DisplayMemberPath="Name"
ItemsSource="{Binding Source={StaticResource partsViewSource}}"
SelectedValue="{Binding Path=ID}"
SelectedValuePath="{Binding Path=PartId}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
....
显示数据网格和包含的Combobox, 但是
你能帮我正确配置组合框吗?
答案 0 :(得分:0)
您可能绑定到单个partsViewSource。
partsViewSource需要是projectOrderdetailsViewSource的一个属性,所以每一行都有它自己的partsViewSource
列表需要公共财产,因此每一行都有自己的列表。
class order
{
public Int ID {get; private set;}
public List<string> Parts { get; set }
}