Кнопка возврата назад обрабатывается внутри элемента управления текстовым полем. Элемент управления примет событие возврата и удалит букву и не будет помещать событие в очередь на ваше событие. Это по замыслу. Вы заметите, что если в текстовом поле нет букв, событие всплывет. Чтобы обойти это, вы можете использовать AddHandler для обработки события. Попробуйте сделать это:
//Handle the mainpage loaded event and add the handler to the textbox
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
textBox1.AddHandler(TextBox.KeyDownEvent, new KeyEventHandler(blah_KeyDown), true);
}
Затем измените ваш обработчик события Key_Down следующим образом:
private void blah_OnKeyDown(object sender, KeyEventArgs e)
{
TextBox t = sender as TextBox;
int i = 0;
if(e.Key == Key.Back)
i = 1;
}
Это должно иметь текстовое поле для внутренней обработки события, но также для вызова вашего события OnKeyDown.