Статическая функция как обработчик событий в xaml

Я использую этот код для имитации функциональности табуляции в моем приложении Silverlight .

Мне бы очень хотелось избежать многократного написания функции, потому что она должна использоваться во многих текстовых полях по всему приложению. Я создал статический класс

public static class TabInsert
{
    private const string Tab = "    ";
    public static void textBox_KeyDown(object sender, KeyEventArgs e)
    {
        TextBox textBox = sender as TextBox;
        if (e.Key == Key.Tab)
        {
            int selectionStart = textBox.SelectionStart;
            textBox.Text = String.Format("{0}{1}{2}",
                    textBox.Text.Substring(0, textBox.SelectionStart),
                    Tab,
                    textBox.Text.Substring(textBox.SelectionStart + textBox.SelectionLength, (textBox.Text.Length) - (textBox.SelectionStart + textBox.SelectionLength))
                    );
            e.Handled = true;
            textBox.SelectionStart = selectionStart + Tab.Length;
        }
    } 
}

, так что я могу получить к нему доступ из разных мест, таких как textBox.KeyDown + = TabInsert.textBox_KeyDown;

Есть ли способ сделать это в XAML?

5
задан Community 23 May 2017 в 12:01
поделиться