use*_*422 3 c# wpf xaml combobox datagridtemplatecolumn
我有这个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>
Run Code Online (Sandbox Code Playgroud)
但是,当我从一行更改值时,它将更新所有行。有人知道为什么吗?
编辑:
如果我仅更改一行,则只会更新该行,但是当我更改另一行时,我刚刚更改的那一行也会更改上一行。
干杯
为重复内容道歉,但经过几个小时的猜测,因为网络上没有足够的材料来容纳这种东西,解决方案是
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Source={StaticResource DeploymentTypeEnum}}"
SelectedItem="{Binding DeploymentType}"
**IsSynchronizedWithCurrentItem="false**">
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
Run Code Online (Sandbox Code Playgroud)
IsSynchronizedWithCurrentItem-照锡做。但是,当您选择一项时,当前一项将消失,但至少不会更新所有行。
| 归档时间: |
|
| 查看次数: |
1323 次 |
| 最近记录: |