2012-01-28 75 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所在的位置。然後,您可以通過故事板中的名稱對其進行修改。