首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF DataGrid CancelEdit WPF

WPF DataGrid CancelEdit WPF
EN

Stack Overflow用户
提问于 2015-09-12 18:55:51
回答 1查看 771关注 0票数 0

我被困在一个似乎是基本的DataGridTemplateColumn问题上。

我创建了一个WPF DataGrid (下面的示例代码)带有DataGridTemplateColumn的。在DataGridTemplateColumn中,我为CellEditingTemplate创建了一个UserControl。在此UserControl中,我有一个按钮(和/或希望监视按键等),用于取消(或提交)对数据单元格的更改。

如何从DataGrid?中通知CancelEdit?

代码语言:javascript
复制
<DataGrid
    AutoGenerateColumns="False"
    ItemsSource="{Binding Items}">
    <DataGrid.Columns>
        <DataGridTemplateColumn>
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Text}"/>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>

            <DataGridTemplateColumn.CellEditingTemplate>
                <DataTemplate>
                    <StackPanel>
                        <TextBox Text="{Binding Text}"/>
                        <Button Content="Cancel!">
                            <!--
                                How to make this Button Cancel Editing?
                                Click="Cancel"
                                Command="{Binding CancelCommand}"
                            -->
                        </Button>
                    </StackPanel>
                </DataTemplate>
            </DataGridTemplateColumn.CellEditingTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>
EN

回答 1

Stack Overflow用户

发布于 2015-09-12 22:35:09

简单的方法是给网格一个名称(theGrid),向按钮添加一个单击处理程序,如下所示.

代码语言:javascript
复制
<Button Content="Cancel!" Click="Button_Click">

然后...and取消处理程序中的编辑:

代码语言:javascript
复制
private void Button_Click(object sender, RoutedEventArgs e)
{
    theGrid.CancelEdit();
}

这样做的“正确”方法是使用命令处理程序创建视图模型,将按钮的command属性绑定到它,然后使用附加的行为来监视视图模型中的事件,并在触发时触发cancel。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32542552

复制
相关文章

相似问题

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