У меня возникла проблема с редактированием храма ячейки в WPat Datagrid (WPF Toolkit). Шаблон построен с помощью ComboBox и ItemsSource ComboBox загружаются во время выполнения.Проблема с DataTemplate и ObjectDataProvider refresh
Это средний код ...
<ObjectDataProvider x:Key="dataValuesProvider" MethodName="GetValues" />
<toolkit:DataGrid
ItemsSource="{Binding Path=MyItems}">
<toolkit:DataGridTemplateColumn
Header="Property1">
<toolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Property1, ValidatesOnDataErrors=true}"/>
</DataTemplate>
</toolkit:DataGridTemplateColumn.CellTemplate>
<toolkit:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox
SelectedValue="{Binding Path=Property1, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}"
IsEditable="True"
IsSynchronizedWithCurrentItem="False"
ItemsSource="{Binding Source={StaticResource dataValuesProvider}, Mode=OneWay}"
/>
</DataTemplate>
</toolkit:DataGridTemplateColumn.CellEditingTemplate>
</toolkit:DataGridTemplateColumn></toolkit:DataGrid>
Теперь у меня есть эта проблема.
Мне нужно обновить dataValuesProvider разным значением для каждой строки. Затем я вставляю сброс dataValuesProvider (dataValuesProvider = null) в selectionchanged событие datagrid.
(DataValuesProvider будет загружаться после ввода в определенной ячейке выбранной строки).
В этом заключается проблема: при сбросе dataValuesProvider (при выборе изменения новой строки) он модифицирует SelectedValue ComboBox и свойство Property1 предыдущей строки очищается.
Я думаю, что существует такое поведение, потому что шаблон редактирования ячейки не обновляет ассоциации привязки, пока я не отредактирую ячейку. Это верно?
Как я могу это сделать, чтобы избежать этой проблемы?
Кто-нибудь? Любая информация или мнения об этой проблеме полезна для меня ... о чем вы думаете? –