2017-10-11 73 views
0

在綁定到對象集合的WPF MVVM應用程序中,我有一個數據網格(使用帶有文本框的datagrid模板作爲單元格)。數據網格很簡單,只有2列(「名稱」和「年份」)。該窗口有一個輸入按鈕,一旦點擊,在集合的開始插入一個空白行,從而開始數據網格。將焦點設置爲DataGrid代碼中的第一個單元格WPF MVVM

XAML

<Button Name="InsertButton" Command="{Binding InsertCommand}" /> 

視圖模型

public ViewModel() 
{ 
    InsertCommand = new DelegateCommand(OnInsert); 
} 

private void OnInsert(object obj) 
{ 
    MyList.Insert(0, new MyItem()); 
} 

這工作與MVVM設置,但不知道是否有設置每個插入按鈕被點擊一次集中第一個單元格的文本框的方式,並在後面的XAML代碼中進行編程,而不是使用MVVM?

感謝

+0

請張貼您的XAML標記。 – mm8

回答

0

一個很好的解決辦法是實現與按鈕單擊多個命令。 這是一個如何做到這一點的方法。 https://www.codeproject.com/Articles/25808/Aggregating-WPF-Commands-with-CommandGroup。 這樣做之後,在代碼隱藏中實現第二個命令,該代碼可以使用UIElement的「.Focus()」方法在所需元素上啓用Focus。

另一種方法是在OnInsert方法結束時在ViewModel中引發一個事件,該事件將在後面的代碼中處理,以在所需的UIElement上設置.Focus()。

相關問題