我有下面的表格
<DataGrid
x:Name="TablesDataGrid"
Grid.Column="0"
Grid.Row="1"
ItemsSource="{Binding FilteredModels.View}"
AlternationCount="2"
AutoGenerateColumns="False"
CanUserSortColumns="True"
CanUserReorderColumns="False"
CanUserDeleteRows="False"
CanUserAddRows="False"
SelectionMode="Extended"
IsReadOnly="False"
SelectionUnit="FullRow"
RowHeight="25"
HorizontalAlignment="Stretch"
ColumnWidth="Auto">
<DataGrid.Columns >
<DataGridCheckBoxColumn Width="*" Binding="{Binding IsChecked, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" IsReadOnly="False">
<DataGridCheckBoxColumn.HeaderTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}, Path=DataContext.CheckAll}"/>
</DataTemplate>
</DataGridCheckBoxColumn.HeaderTemplate>
</DataGridCheckBoxColumn>
<DataGridTextColumn Header="Source Table" Binding="{Binding SourceTableFullName}" Width="4*"></DataGridTextColumn>
<DataGridTextColumn Header="EDW Schema" Binding="{Binding SchemaName}" Width="2*"></DataGridTextColumn>
<DataGridTextColumn Header="EDW Table" Binding="{Binding TableName}" Width="4*"></DataGridTextColumn>
<DataGridTextColumn Header="Status" Binding="{Binding Status}" Width="*"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>然后,我有一个在视图模型中的collectionViewSource FilteredModels上执行搜索的seachCommand,然后调用
this.FilteredModels.View.Refresh();当用户选中几个复选框并将网格发送到编辑模式,然后执行搜索时,我们会得到以下错误
WPF DataGrid 'Refresh' is not allowed during an AddNew or EditItem transaction有没有办法强制网格退出编辑模式,当一个复选框被选中,甚至当搜索按钮被点击时,或者其他一些解决方法?
谢谢!
发布于 2013-11-26 07:52:48
您应该能够将所选项目强制转换为IEditableObject并对其调用EndEdit,或者调用网格的CancelEdit方法。
https://stackoverflow.com/questions/20204592
复制相似问题