WPF 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>

但是,当我从一行更改值时,它将更新所有行.有人知道为什么是这样吗?

编辑:

如果我只更改一行,则只会更新该行,但是当我更改另一行时,我刚刚更改的那一行也会更改上一行.

干杯

解决方法:

为重复内容道歉,但经过几个小时的猜测,因为网络上没有足够的材料来容纳这种东西,解决方案是

                </DataGridTemplateColumn.CellTemplate>
                <DataGridTemplateColumn.CellEditingTemplate>
                    <DataTemplate>
                        <ComboBox ItemsSource="{Binding Source={StaticResource DeploymentTypeEnum}}"
                                  SelectedItem="{Binding DeploymentType}"
                                  **IsSynchronizedWithCurrentItem="false**">
                        </ComboBox>
                    </DataTemplate>
                </DataGridTemplateColumn.CellEditingTemplate>

IsSynchronizedWithCurrentItem-照锡做.但是,当您选择一项时,当前一项将消失,但至少不会更新所有行.

上一篇:C#-使用ItemsSource将预定义项目添加到ComboBox


下一篇:java-Swing:有没有办法区分用户引起的ItemEvent和应用程序引起的?