首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在AddNew或EditItem事务mvvm期间不允许使用WPF DataGrid‘刷新’

在AddNew或EditItem事务mvvm期间不允许使用WPF DataGrid‘刷新’
EN

Stack Overflow用户
提问于 2013-11-26 06:22:07
回答 3查看 16.4K关注 0票数 11

我有下面的表格

代码语言:javascript
复制
    <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,然后调用

代码语言:javascript
复制
this.FilteredModels.View.Refresh();

当用户选中几个复选框并将网格发送到编辑模式,然后执行搜索时,我们会得到以下错误

代码语言:javascript
复制
WPF DataGrid 'Refresh' is not allowed during an AddNew or EditItem transaction

有没有办法强制网格退出编辑模式,当一个复选框被选中,甚至当搜索按钮被点击时,或者其他一些解决方法?

谢谢!

EN

Stack Overflow用户

发布于 2013-11-26 07:52:48

您应该能够将所选项目强制转换为IEditableObject并对其调用EndEdit,或者调用网格的CancelEdit方法。

票数 4
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20204592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档