2013-04-03 3 views

ответ

0

У вас есть несколько вариантов для этого, в зависимости от ваших требований в целом. Ваша проблема будет связана с предоставлением фона, поскольку TextBlock не имеет этого свойства, доступного по умолчанию в качестве элемента Framework. Однако вот несколько способов;

  1. Вы можете использовать шаблон HyperlinkButton указать ваши изменения цвета и т.д. в ContentForeground и фона Border или Rectangle или что-то в его VisualStateManager и просто сделать текст HyperlinkButton типа. Обычно это можно легко понять, просто взглянув на шаблоны по умолчанию.

  2. Вы можете создать шаблон TextBlock с помощью VisualStateManager, чтобы сделать то же самое, что указано выше.

  3. Если это только для одного экземпляра или нескольких мест, вы можете просто использовать EventTrigger, прикрепленный к объекту, чтобы выполнить то же самое, например;

пространств имен (ы):

Xmlns: I = "http://schemas.microsoft.com/expression/2010/interactivity" Xmlns: е = "HTTP: // схемы .microsoft.com/выражение/2010/взаимодействия»

<Border x:Name="MyBackground"> 
    <TextBlock x:Name="MyForeground" Text="Hover Over Me!" Margin="5"> 
     <i:Interaction.Triggers> 
     <i:EventTrigger EventName="MouseEnter"> 
      <ei:ChangePropertyAction TargetName="MyForeground" 
             PropertyName="Foreground" 
             Value="Orange" /> 
      <ei:ChangePropertyAction TargetName="MyBackground" 
             PropertyName="Background" 
             Value="Blue" /> 
     </i:EventTrigger> 
     <i:EventTrigger EventName="MouseLeave"> 
      <ei:ChangePropertyAction TargetName="MyForeground" 
             PropertyName="Foreground" 
             Value="Black" /> 
      <ei:ChangePropertyAction TargetName="MyBackground" 
             PropertyName="Background" 
             Value="Transparent" /> 
     </i:EventTrigger> 
     </i:Interaction.Triggers> 
    </TextBlock> 
</Border> 

и это лишь некоторые из возможных способов ее выполнения с несколькими другими, не включенными в этом примере. Надеюсь это поможет. :)

Смежные вопросы