Silverlightアプリケーションのタブ機能をシミュレートするのに、thisコードを使用しています。xamlのイベントハンドラとしての静的関数
アプリケーション全体で非常に多くのテキストボックスで使用する必要があるため、この関数を頻繁に書くのは避けたいと思います。私はこのtextBox.KeyDown += TabInsert.textBox_KeyDown;
liekさまざまな場所からアクセスできるように、私はXAMLでこれを行うことができます方法はあり
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;
}
}
}
を静的クラスを作成していますか?
私は絶対にxyzzerを試してみました。 (「コードビハインドでビヘイビアをアタッチする方法」も参照してください(http://geekswithblogs.net/SilverBlog/archive/2009/09/22/behaviors-how-to-attach-behavior-in-code-behind-silverlight-3 .aspx)) – DmitryG
私も同意しますが、これはちょうど厄介なXAMLを構築するだけです。この機能を必要とするテキストボックスがたくさんあるので、少なくとも私は持っていたいと思っています... –