У меня есть этот XAML, который выбирает значение из поля со списком, в котором ItemSource является Enum. Я использовал учебник:
http://www.c-sharpcorner.com/uploadfile/dpatra/combobox-in-datagrid-in-wpf/
<DataGrid x:Name="dgProductItem"
ItemsSource="{Binding ProductVersion.ProductItems}"
<DataGridTemplateColumn Header="Deployment Type" Width="120">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding DeploymentType}"></TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Source={StaticResource DeploymentTypeEnum}}"
SelectedItem="{Binding DeploymentType}">
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
Однако когда я изменяю значение в одной строке, обновляются все строки. Кто-нибудь знает, почему это так?
Редактировать:
если я просто изменю одну строку, она обновит только эту строку, но когда я перейду к изменению другой строки, эта строка, которую я только что изменил, также изменит предыдущую.
Ваше здоровье
DeploymentType
почти наверняка является единственным, но вы используете его для каждой строки вDataGrid
. Ваше свойствоenum
должно относиться к классу, к которому принадлежит каждый элемент вDataGrid
. - person Sheridan   schedule 25.04.2014enum
, которое является общим для всех элементов... вам просто нужно его найти. - person Sheridan   schedule 25.04.2014DeploymentType
?... Я предполагаю, что это не в вашем классе элементов. - person Sheridan   schedule 25.04.2014