| 

.NET C# Java Javascript Exception

1
Hallo,

weiß jemand was man im DataGrid einstellen muß, damit beim Drücken der Enter-Taste nicht die nächste Zeile selektiert wird?

Grüße David
28.03.2012
david 393 1 6
2 Antworten
0
Guten Abend!

Du musst lediglich im Event PreviewKeyDown das Drücken der Enter-Taste abfangen:
private void DataGrid_PreviewKeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
if (e.Key == Key.Return)
{
e.Handled = true;
}
}
28.03.2012
das habe ich auch schon versucht, allerdings bekomme ich dann ein Problem mit editierbaren Zellen.
david 29.03.2012
0
Dies bedeutet, dass du dem Endanwender erlauben möchtest, Zellinhalte zu editieren. Die Änderung soll dann per Return gespeichert werden?

Mit dem folgenden Code kann man nun auch das Editieren per Return beenden. Es wird dann aber immer noch eine Zeile nach unten "gesprungen".

private bool _isEditing;

private void DataGrid_PreviewKeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
if (e.Key == Key.Return)
{
e.Handled = !_isEditing;
}
}

private void DataGrid_PreparingCellForEdit(object sender, DataGridPreparingCellForEditEventArgs e)
{
_isEditing = true;
}

private void DataGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
_isEditing = false;
}
29.03.2012

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH