2012-01-28 41 views
0

我想创建一个图像的超链接按钮,其中图像会产生悬停效果(在MouseOver上更改)。我能够创建一个带有一个图像的超链接按钮,但在图像上停留了悬停效果。请帮忙!Silverlight超链接按钮与图像(悬停在图像上的效果)

这里是我的用户控制:

<UserControl.Resources> 
     <Style x:Key="NavigationButton_Middle" TargetType="HyperlinkButton"> 
      <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate TargetType="HyperlinkButton"> 
         <Grid Background="{TemplateBinding Background}" Cursor="{TemplateBinding Cursor}"> 
          <VisualStateManager.VisualStateGroups> 
           <VisualStateGroup x:Name="CommonStates"> 
            <VisualState x:Name="Normal"/> 
            <VisualState x:Name="MouseOver"> 
             <Storyboard> 
              <ColorAnimation Storyboard.TargetName="Background" 
                  Storyboard.TargetProperty="Color" 
                  To="White" 
                  Duration="00:00:0.1"> 
              </ColorAnimation> 
             </Storyboard> 
            </VisualState> 
            <VisualState x:Name="Pressed"/> 
            <VisualState x:Name="Disabled"/> 
           </VisualStateGroup> 
          </VisualStateManager.VisualStateGroups> 
          <Border x:Name="Edge" BorderBrush="#FFD9D9D9" BorderThickness="1" CornerRadius="1" Height="32" Width="48"> 
           <Border.Background> 
            <SolidColorBrush x:Name="Background" Color="#FFF4F4F4" /> 
           </Border.Background> 
           <ContentPresenter Content="{TemplateBinding Content}" /> 
          </Border> 
         </Grid> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 
    </UserControl.Resources> 

XAML:

<HyperlinkButton x:Name="HomeButton" Style="{StaticResource NavigationButton_Middle}" ToolTipService.ToolTip="Home" Visibility="Visible" Margin="0" HorizontalAlignment="Right"> 
        <Image Source="home.png" Margin="13,5,13,5" Height="20" Width="20"/> 
       </HyperlinkButton> 

感谢您的帮助提前!

回答

0

由于您想要更改按钮的实际内容(对于样式未知),因此在不伤害样式的可重用性的情况下很难做到这一点。但是,如果您不介意,则可以将该模板内的图像移动到ContentPresenter所在的位置。然后,您可以通过故事板中的名称对其进行修改。