按下选项卡时提交WPF datagrid行

时间:2018-12-13 10:07:33

标签: c# wpf datagrid

我在项目中使用WPF微软技术。 我有一个数据网格,该数据网格与数据类型为ICollectionViewLiveShaping的viewmodel属性绑定。 我想在按下tab时提交datagrid行,添加项目底部的行将自动聚焦。 当我按Enter键时,这将自动实现。 按下Tab键时,我必须做同样的事情。

如果有人帮助我,我将非常感激。

1 个答案:

答案 0 :(得分:0)

如果您想以MVVM模式进行操作。 然后将Keyboard keyhandler绑定到viewmodel。 并且在使用TAB键的情况下,请使用以下代码。

List<string> yourCollection = new List<string>(); // your view model collection
ICollectionView yourCollectionView = new CollectionViewSource { Source = yourCollection }.View;
ListCollectionView listCollectionView = (ListCollectionView)CollectionViewSource.GetDefaultView(yourCollectionView);
if (listCollectionView != null)
{
    if (listCollectionView.IsAddingNew)
    {
        listCollectionView.CommitNew();
    }
    if (listCollectionView.IsEditingItem)
    {
        listCollectionView.CommitEdit();
    }
}

如果要在视图本身中执行此操作,请使用以下代码。

this.ItemsGrid.CommitEdit(); 
this.ItemsGrid.CancelEdit();

请投票以帮助您。