0

WPFウィンドウで、カーソルがテキストボックスにあるときにテキストボックスの背景をわずかに青色にします。これを行うために、2つの単純なイベントハンドラー(GotFocusとLostFocus)を作成しました。

private void textBox1_GotFocus(object sender, RoutedEventArgs e)
        {
            textBox1.Background = (Brush)new BrushConverter().ConvertFrom("#FFE6E6FF");
        }

        private void textBox1_LostFocus(object sender, RoutedEventArgs e)
        {
            textBox1.Background = Brushes.White;
        }

すべてのテキストボックスを、それぞれのテキストボックスに背景を与える1つのイベントハンドラーに送る方法はありますか?

4

1 に答える 1

1

とてもシンプルです。すべてのテキストボックスの最も外側のコンテナにイベントフックを配置します。

<Window TextBox.GotFocus="textBox1_GotFocus" TextBox.LostFocus="textBox1_LostFocus">
   <TextBox ... >
   <TextBox ... >
   <TextBox ... >
</Window>

正しいテキストボックスで動作させるには、「sender」パラメータをテキストボックスとしてキャストします。

private void textBox1_GotFocus(object sender, RoutedEventArgs e)
{
    ((TextBox)sender).Background = (Brush)new BrushConverter().ConvertFrom("#FFE6E6FF");
}
于 2012-07-30T19:19:41.800 に答える