2013-10-19 36 views
0

我做驗證在DataGrid中celleditending事件。一旦顯示在消息框中的消息 如果我點擊在 DataGrid中的消息框.the聚焦OK移動到上一行。我想要在當前驗證行中關注焦點。如何集中光標在當前單元格數據網格在WPF

我想這代碼,但它did'nt工作。

int index = attendancegrid .SelectedIndex; 
attendancegrid .SelectedItem = attendancegrid .Items[index]; 
attendancegrid .ScrollIntoView(attendancegrid .Items[index]); 

,如果任何人有關於如何關注當前驗證行幫助我做一些代碼前

回答

1

每當你顯示一個消息框,你點擊想法確定您從主窗口失去焦點。 雖然邏輯焦點被保存,所以當你返回到主窗口,你看可以點擊後面的範圍內時,可以變成keyboad焦點邏輯焦點。

要了解更多關於檢查此鏈接了。

http://msdn.microsoft.com/en-us/library/aa969768.aspx

如果你想使用邏輯焦點,讓WPF爲你做的作業,然後閱讀:

http://msdn.microsoft.com/en-us/library/System.Windows.Input.FocusManager(v=vs.110).aspx

現在你的問題。我會通過使用FocusManager.FocusedElement來解決這個問題。只需在錯誤模板中設置該屬性即可。

另一種方法是訂閱Validation.Error事件和強制Keyboard.Focus方法把重點放在事件處理程序內的對象發送者。

http://msdn.microsoft.com/en-us/library/system.windows.controls.validation.error.aspx

相關問題