在WPF的DataGrid单一的点击编辑 [英] Single click edit in WPF DataGrid

查看:368
本文介绍了在WPF的DataGrid单一的点击编辑的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望用户能够把细胞进入编辑模式,并突出显示单元包含在该行与一个单一的点击。默认情况下,这是双击。我如何重写或实现这一点?我搜索谷歌,和codePLEX答案不为我工作。

I want the user to be able to put the cell into editing mode and highlight the row the cell is contained in with a single click. By default, this is double click. How do I override or implement this? I've searched on google, and the codeplex answer doesn't work for me.

我一般pretty的新的WPF和编码,这样一个简单的答案比较好。

I'm pretty new to WPF and coding in general, so a simple answer is better.

推荐答案

下面是我如何解决这个问题:

Here is how I resolved this issue:

<DataGrid DataGridCell.Selected="DataGrid_GotFocus" ItemsSource="{Binding Source={StaticResource itemView}}">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Nom" Binding="{Binding Path=Name}"/>
        <DataGridTextColumn Header="Age" Binding="{Binding Path=Age}"/>
    </DataGrid.Columns>
</DataGrid>

这DataGrid绑定到一个CollectionViewSource(含虚拟的对象)。

This DataGrid is bound to a CollectionViewSource (Containing dummy Person objects).

神奇的发生有: DataGridCell.Selected =DataGrid_GotFocus

我只是勾DataGrid单元格的选定事件,并在DataGrid中调用BeginEdit()。

I simply hook the Selected Event of the DataGrid cell, and call BeginEdit() on the DataGrid.

下面是为后面的事件处理程序的code:

Here is the code behind for the event handler :

    private void DataGrid_GotFocus(object sender, RoutedEventArgs e)
    {
        // Lookup for the source to be DataGridCell
        if (e.OriginalSource.GetType() == typeof(DataGridCell))
        {
            // Starts the Edit on the row;
            DataGrid grd = (DataGrid)sender;
            grd.BeginEdit(e);
        }
    }

{}欣赏

这篇关于在WPF的DataGrid单一的点击编辑的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆