Триггер ControlTemplate для подэлемента - PullRequest
0 голосов
/ 07 сентября 2011

Я хочу увеличить размер границы DatePicker, когда он имеет фокус.В стиле TextBox следующее прекрасно работает при использовании с BorderBase в ControlTemplate.

<ControlTemplate.Triggers>
    <Trigger Property="UIElement.IsFocused" Value="true">
        <Setter Property="BorderThickness" TargetName="BorderBase" Value="2"/>
        <Setter Property="Padding" TargetName="BorderBase" Value="3"/>
    </Trigger>
</ControlTemplate.Triggers>

Для DatePicker это не работает, поскольку DatePickerTextBox внутри DatePicker имеет фактический фокус.На странице стиля DatePicker перечислены визуальные состояния.TextBox имеет состояние Focused, но DatePicker имеет состояние Focused только для случаев, когда ввод неверен.

Как вы, ребята, предлагаете мне решить эту проблему?

Ответы [ 2 ]

2 голосов
/ 07 сентября 2011

А как насчет установки триггера на HasKeyboardFocus вместо IsFocused?Я думаю, что один вернет true, если какой-либо дочерний элемент содержит фокус

1 голос
/ 07 сентября 2011

Как насчет именования TextBox и указания соответствующего Trigger.SourceName?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...