Не все элементы управления являются фокусируемыми по умолчанию, установите Focusable
в true
и посмотрите, поможет ли это.
Одна из проблем, с которой вы можете столкнуться, заключается в том, что по умолчанию метка не получает фокус от событий мыши.
Я не знаю, существует ли чистый XAML-способ установки фокуса, но вы можете обработать событие мыши:
<Label Focusable="True" Content="Test" MouseLeftButtonUp="Label_MouseLeftButtonUp">
<Label.Style>
<Style TargetType="Label">
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
//Note that this is not a "proper" click.
private void Label_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
var label = sender as Label;
label.Focus();
}