Практическое руководство. Изменение цвета элемента с помощью событий фокуса
В этом примере показано, как изменение цвета элемента, когда он получает и теряет фокус с помощью GotFocus и LostFocus события.
В этом примере состоит из XAML файл и файл с выделенным кодом.
Пример
Следующие XAML создает пользовательский интерфейс, который состоит из двух Button объектов, а также присоединяет обработчики событий для GotFocus и LostFocus событий Button объектов.
<StackPanel>
<StackPanel.Resources>
<Style TargetType="{x:Type Button}">
<Setter Property="Height" Value="20"/>
<Setter Property="Width" Value="250"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
</Style>
</StackPanel.Resources>
<Button
GotFocus="OnGotFocusHandler"
LostFocus="OnLostFocusHandler">Click Or Tab To Give Keyboard Focus</Button>
<Button
GotFocus="OnGotFocusHandler"
LostFocus="OnLostFocusHandler">Click Or Tab To Give Keyborad Focus</Button>
</StackPanel>
Следующий код создает GotFocus и LostFocus обработчики событий. Когда Button прирост фокус Background из Button изменяется на красный. Когда Button теряет фокус клавиатуры, Background из Button изменяется обратно на белое.
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
// Raised when Button gains focus.
// Changes the color of the Button to Red.
private void OnGotFocusHandler(object sender, RoutedEventArgs e)
{
Button tb = e.Source as Button;
tb.Background = Brushes.Red;
}
// Raised when Button losses focus.
// Changes the color of the Button back to white.
private void OnLostFocusHandler(object sender, RoutedEventArgs e)
{
Button tb = e.Source as Button;
tb.Background = Brushes.White;
}
}