2014-02-25 9 views
1

클릭시 도구 키트 확장기 헤더의 배경을 변경해야하며 확장시 원래 배경색으로 되돌려 놓아야합니다. Visual State Manager에서 코드에 포함 된 내용이 하이퍼 링크 버튼에 잘 작동합니다. 작동하게하려면 어떻게해야합니까? 사전에 툴킷 확장기 헤더 배경 변경

Thnx

<toolkit:ExpanderView x:Name="Header1" FontSize="22" Foreground="Black" Expanded="Header1_Expanded"> 
<toolkit:ExpanderView.Header> 

    <Grid x:Name="GettinghereGrid" > 
     <Grid.RowDefinitions> 
      <RowDefinition/> 
      <RowDefinition/> 
     </Grid.RowDefinitions> 

     <StackPanel Orientation="Horizontal" Background="#EBEBEB" x:Name="sp1"> 
      <VisualStateManager.VisualStateGroups> 
       <VisualStateGroup x:Name="CommonStates"> 
        <VisualState x:Name="Normal"> 
        </VisualState> 
        <VisualState x:Name="Pressed"> 
         <Storyboard> 
          <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="sp1"> 
           <DiscreteObjectKeyFrame KeyTime="0" Value="Red"/> 
          </ObjectAnimationUsingKeyFrames> 
         </Storyboard> 
        </VisualState> 
       </VisualStateGroup> 
      </VisualStateManager.VisualStateGroups> 

      <Image Source="/Assets/Menu/getting-here.png" Margin="8,0,0,0" HorizontalAlignment="Left" Stretch="None"/> 
      <TextBlock Text="{Binding Path=LocalizedResources.menu_getting_here, Source={StaticResource LocalizedStrings}}" VerticalAlignment="Center" Margin="10" FontSize="26" Foreground="Black" FontFamily="{StaticResource CustomLucidaGrandStyle}"/> 
     </StackPanel> 
     <Rectangle Height="2" Grid.Row="1" Fill="#D6D6D6D6" Width="500" /> 
    </Grid> 

답변

1

사용 MouseEnter, ExpanderView로하는 MouseLeave 이벤트. 백엔드에서

<toolkit:ExpanderView x:Name="Header3" FontSize="22" Foreground="Black" Expanded="Header3_Expanded" MouseEnter="Header_MouseEnter" MouseLeave="Header_MouseLeave"> 

다음 코드

private void Header_MouseEnter(object sender, MouseEventArgs e) 
    { 
     SolidColorBrush sb = new SolidColorBrush(); 
     sb.Color = Color.FromArgb(170, 170, 170, 170); 
     WhattodoGrid.Background = sb; 
    } 
    private void Header_MouseLeave(object sender, MouseEventArgs e) 
    { 
     SolidColorBrush sb = new SolidColorBrush(); 
     sb.Color = Color.FromArgb(0,0,0,0); 
     WhattodoGrid.Background = sb; 
    } 
에게 쓰기