Я пытаюсь динамически изменить стиль меток в моих формах.
Мне нужно следующее поведение: каждый раз, когда текстовое поле с именем 'txtName', например, становится Focused, оно должно искать элемент управления Label с именем 'lblName' и изменять его свойство FontWeight на "Bold".
То же самое для текстового поля с именем «txtBirthday» и метки с именем «lblBirthday», где «txt» обозначает TextBox, а lbl - «Label».
Каждое текстовое поле имеет ИМЯ, префикс «txt» и префикс «lbl» для соответствующей метки, но если текстовое поле не находит метку соответствующей расшифровки, оно ничего не должно делать.
Другими словами, каждый раз, когда текстовое поле фокусируется на форме, оно должно искать ярлык «ответственно» для своего описания и выделять его (изменяя вес шрифта на жирный), чтобы форма была более удобной для пользователя. Таким образом, пользователь не будет смущен тем, в какое текстовое поле он печатает.
У меня есть код, который может быть хорошей отправной точкой, но я не знаю, как работать с нестатическими именами элементов управления.
<Style TargetType="{x:Type Label}">
<Style.Triggers>
<!-- Here is how we bind to another control's property -->
<DataTrigger Binding="{Binding IsFocused, ElementName=txtUser}" Value="True">
<Setter Property="FontWeight" Value="Bold" />
<!-- Here is the 'override' content -->
</DataTrigger>
</Style.Triggers>
</Style>