捕获Silverlight TextBox中的选项卡

Eri*_*ver 7 silverlight tabs textbox

如何捕获在Silverlight TextBox中输入的选项卡并在其中呈现4个空格(或选项卡)?

我无法弄清楚如何阻止标签导航.

jos*_*ley 8

这是我做的(类似于约翰内斯的代码):

        private const string Tab = "    ";
    void textBox_KeyDown(object sender, KeyEventArgs e)
    {
        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;
        }
    }
Run Code Online (Sandbox Code Playgroud)

即使您选择了一些文本并按下"Tab"键,这也会表现出您的预期.

还有一件事:我尝试将标签字符串设为"\ t",但无济于事.呈现的选项卡,但是是单个空格的宽度 - 因此Tab const的值是四个空格.