【发布时间】:2018-01-17 01:44:42
【问题描述】:
我尝试将DataGridComboBoxColumn 更改为DataGridTemplateColumn,但没有成功。
DataGridComboBoxColumn 按预期工作,但DataGridTemplateColumn 中的组合框没有。如果我更改此 Combobox 中的值,它将更改所有 visible 行中的所有 visible Comboboxes 值。
我错过了什么?
DataGrid 是这样的:
<DataGrid x:Name="bookDataGrid"
AutoGenerateColumns="False"
EnableRowVirtualization="True"
ItemsSource="{Binding Source={StaticResource bookViewSource}}">
DataGridComboboxColumn 是这样的:
<DataGridComboBoxColumn x:Name="countryColumn"
ItemsSource="{Binding Source={StaticResource countryLookup}}"
DisplayMemberPath="CountryName"
SelectedValuePath="ID"
SelectedValueBinding="{Binding Country,UpdateSourceTrigger=PropertyChanged}"
Header="Country"
Width="SizeToCells" />
用于设置图书表中的国家(ID)。我将 CollectionViewSource 用于 Books (bookViewSource) 和 Country (countryLookup)。
不工作的DataGridTemplateColumn 像这样:
<DataGridTemplateColumn x:Name="CountryTemplateColumn">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<ComboBox x:Name="CountryCombo"
ItemsSource="{Binding Source={StaticResource countryLookup}}"
DisplayMemberPath="CountryName"
SelectedValuePath="ID"
SelectedValue="{Binding Country, Source={StaticResource bookViewSource}, UpdateSourceTrigger=PropertyChanged}">
</ComboBox>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
请帮忙。谢谢。
【问题讨论】:
标签: wpf data-binding combobox datagrid wpfdatagrid