Я думаю, что вам, вероятно, нужно обработать событие PreviewKeyDown . Поймайте комбинацию нажатий клавиш, которую вы хотите обработать, обработайте ее, затем установите e.Handled = true
, чтобы убедиться, что она не обрабатывается где-либо еще как событие нажатия клавиш туннели и пузыри .
XAML:
<TextBox TextWrapping="Wrap" AcceptsReturn="True"
PreviewKeyDown="TextBox_PreviewKeyDown" />
Код-за:
private void TextBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.KeyboardDevice.Modifiers == ModifierKeys.None && e.Key == Key.Enter)
{
e.Handled = true;
// Do your special enter handling here...
}
// Shift+Enter (and any other keys) will be handled as normally...
// ...you'll still get your new line on Shift+Enter
}
Примечание: Если вы хотите, чтобы при нажатии клавиши Enter все еще добавлялась новая строка , а также в качестве специальной обработки, просто удалите строку e.Handled = true
.