我必须在点击时更改工具包扩展器标题的背景,我必须在展开时恢复为原始背景颜色。我在代码中包含的可视状态管理器工作正常,超链接按钮。我该怎么做才能使它发挥作用。
<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提前
答案 0 :(得分:1)
将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;
}