我在WPF數據網格(WPF工具包)中編輯單元格的問題。模板是用ComboBox構建的,並且ItemsSource的 ComboBox在運行時加載。DataTemplate和ObjectDataProvider刷新問題
這是平均碼...
<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。然後我在datagrid的selectedchanged事件上插入dataValuesProvider(dataValuesProvider = null)的重置。
(dataValuesProvider將在所選行的特定單元格上的輸入後加載)。
這就是問題所在:當我重置dataValuesProvider(在一個新行的selectionchanged上)時,它修改了ComboBox的SelectedValue並清除了前一行的Property1。
我認爲有這種行爲,因爲單元格的編輯模板沒有更新綁定關聯,直到我編輯單元格。這是正確的?
我該如何避免這個問題?
有人嗎?關於這個問題的任何信息或意見對我有用......你怎麼看? – 2009-12-10 08:14:11