2013-08-30 2 views
0

Я хотел бы добавить эффект наведения к границе, которую я создал, как показано ниже.WinRT - непрозрачность изменения наведения на границе

<Border x:Name="borderHeader" Background="#000000" Height="100" VerticalAlignment="top" Opacity="0.5" HorizontalAlignment="Left" Width="1366"> 

И мой визуальный код состояния, как показано ниже.

<VisualStateManager.VisualStateGroups> 
<VisualState x:Name="PointerOver"> 

        <Storyboard> 
         <DoubleAnimation Duration="0" To="1.0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="borderHeader"/> 
        </Storyboard> 
       </VisualState> 
      </VisualStateGroup> 
</VisualStateManager.VisualStateGroups> 

Как никогда он не работает. Пожалуйста, сообщите, какую часть я сделал неправильно. Спасибо

ответ

0

Визуальные состояния могут применяться к тем элементам управления, которые находятся внутри ControlTemplate. Граница - автономный контроль. Таким образом, вам нужно положиться на PointerEntered & PointerExited событий.

XAML

<Border x:Name="borderHeader" Background="Yellow" Height="100" VerticalAlignment="top" Opacity="0.5" HorizontalAlignment="Left" Width="1366" 
       PointerEntered="borderHeader_PointerEntered_1" PointerExited="borderHeader_PointerExited_1"/> 

С #

private void borderHeader_PointerEntered_1(object sender, Windows.UI.Xaml.Input.PointerRoutedEventArgs e) 
{ 
    borderHeader.Opacity = 1; 
} 

private void borderHeader_PointerExited_1(object sender, Windows.UI.Xaml.Input.PointerRoutedEventArgs e) 
{ 
    borderHeader.Opacity = 0.5; 
} 
Смежные вопросы