문제

클릭하면 도구 키트 확장기 헤더의 배경을 변경해야합니다. 확장시 원본 배경색으로 되돌아 가야합니다.Visual State Manager 코드에 포함 된 내용은 하이퍼 링크 버튼을 위해 잘 작동합니다.내가 일하기 위해서는 무엇을해야합니까?

<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>
.

thnx 미리

도움이 되었습니까?

해결책

MouseEnter, Mouseleave 이벤트를 ExpanderView에 사용하십시오.

<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;
    }
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top