2013-08-16 1 views
0

Я могу получить TextBlock в XAML, чтобы иметь триггер IsMouseOver, но как насчет IsPressed или IsFocused. Я хочу, чтобы фон TextBlock менял цвет, когда пользователь нажимает на TextBlock. Это TextBlock NOT TextBox. Там есть способ сделать это только в XAML.Как изменить фон на TextBlock при нажатии или при нажатии?

Я пробовал:

<Trigger Property="IsFocused" Value="True"> 
     <Setter Property="Background" Value="Blue"></Setter> 

    </Trigger> 
    <Trigger Property="IsPressed" Value="True"> 
     <Setter Property="Background" Value="Blue"></Setter> 

     </Trigger> 

И это, похоже, не работает. Есть ли другое свойство, или это возможно даже в TextBlock.

Заранее спасибо.

+0

Некоторые опции = кнопка с содержимым, связанным с TextBlock. Или первоначально прозрачная кнопка, лежащая поверх TextBlock, и просто отредактируйте свой шаблон кнопки соответственно. –

ответ

0

Оберните его в ToggleButton, смените ToggleButton.Template на одиночный ContentPresenter в Border. Поднять Background до Border.Background через TemplateBinding.

Это дает вам IsChecked для включения и просто показывает текст с цветом фона.