2011-05-15 91 views
1

enter image description here更改超链接的行为在Silverlight

<StackPanel Orientation="Horizontal"> 
     <HyperlinkButton Content="Menue Item 1" FontSize="24" /> 
     <HyperlinkButton Content="Menue Item 2" FontSize="24" /> 
    </StackPanel> 

在Silverlight中,我怎样才能改变所选项目的边框颜色。

+0

我不明白你的意思是什么“选定的项目”,你能解释一点点吗?超链接按钮在这里是完全独立的,并且它们不在ListBox或任何内部,所以谈论“选定的项目”有点令人困惑。 – AbdouMoumen 2011-05-15 18:36:51

回答

1

删除以下到您的控制资源:

<Style TargetType="HyperlinkButton" x:name="NewHyperlinkControl"> 
    <Setter Property="Foreground" Value="#FF73A9D8" /> 
    <Setter Property="Padding" Value="2,0,2,0"/> 
    <Setter Property="Cursor" Value="Hand"/> 
    <Setter Property="HorizontalContentAlignment" Value="Left"/> 
    <Setter Property="VerticalContentAlignment" Value="Top"/> 
    <Setter Property="Background" Value="Transparent" /> 
    <Setter Property="FontSize" Value="24" /> <!-- Embedded your font size here --> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="HyperlinkButton"> 
       <Grid Cursor="{TemplateBinding Cursor}" Background="{TemplateBinding Background}"> 
        <vsm:VisualStateManager.VisualStateGroups> 
         <vsm:VisualStateGroup x:Name="CommonStates"> 
          <vsm:VisualState x:Name="Normal"/> 
          <vsm:VisualState x:Name="MouseOver"> 
           <Storyboard> 
            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="UnderlineTextBlock" Storyboard.TargetProperty="Visibility" Duration="0"> 
             <DiscreteObjectKeyFrame KeyTime="0"> 
              <DiscreteObjectKeyFrame.Value> 
               <Visibility>Visible</Visibility> 
              </DiscreteObjectKeyFrame.Value> 
             </DiscreteObjectKeyFrame> 
            </ObjectAnimationUsingKeyFrames> 
           </Storyboard> 
          </vsm:VisualState> 
          <vsm:VisualState x:Name="Pressed"> 
           <Storyboard> 
            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="UnderlineTextBlock" Storyboard.TargetProperty="Visibility" Duration="0"> 
             <DiscreteObjectKeyFrame KeyTime="0"> 
              <DiscreteObjectKeyFrame.Value> 
               <Visibility>Visible</Visibility> 
              </DiscreteObjectKeyFrame.Value> 
             </DiscreteObjectKeyFrame> 
            </ObjectAnimationUsingKeyFrames> 
           </Storyboard> 
          </vsm:VisualState> 
          <vsm:VisualState x:Name="Disabled"> 
           <Storyboard> 
            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="DisabledOverlay" Storyboard.TargetProperty="Visibility" Duration="0"> 
             <DiscreteObjectKeyFrame KeyTime="0"> 
              <DiscreteObjectKeyFrame.Value> 
               <Visibility>Visible</Visibility> 
              </DiscreteObjectKeyFrame.Value> 
             </DiscreteObjectKeyFrame> 
            </ObjectAnimationUsingKeyFrames> 
           </Storyboard> 
          </vsm:VisualState> 
         </vsm:VisualStateGroup> 
         <vsm:VisualStateGroup x:Name="FocusStates"> 
          <vsm:VisualState x:Name="Focused"> 
           <Storyboard> 
            <DoubleAnimation Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity" Duration="0" To="1"/> 
           </Storyboard> 
          </vsm:VisualState> 
          <vsm:VisualState x:Name="Unfocused"/> 
         </vsm:VisualStateGroup> 
        </vsm:VisualStateManager.VisualStateGroups> 
        <TextBlock 
         x:Name="UnderlineTextBlock" 
         Text="{TemplateBinding Content}" 
         HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
         VerticalAlignment="{TemplateBinding VerticalContentAlignment}" 
         Margin="{TemplateBinding Padding}" 
         TextDecorations="Underline" 
         Visibility="Collapsed"/> 
        <TextBlock Canvas.ZIndex="1" 
         x:Name="DisabledOverlay" 
         Text="{TemplateBinding Content}" 
         Foreground="#FFAAAAAA" 
         HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
         VerticalAlignment="{TemplateBinding VerticalContentAlignment}" 
         Margin="{TemplateBinding Padding}" 
         Visibility="Collapsed"/> 
        <ContentPresenter 
         x:Name="contentPresenter" 
         Content="{TemplateBinding Content}" 
         ContentTemplate="{TemplateBinding ContentTemplate}" 
         VerticalAlignment="{TemplateBinding VerticalContentAlignment}" 
         HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
         Margin="{TemplateBinding Padding}"/> 
        <Rectangle x:Name="FocusVisualElement" Stroke="#FF6DBDD1" StrokeThickness="1" Opacity="0" IsHitTestVisible="false" /> 
       </Grid> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

,并更改以下行:

<Rectangle x:Name="FocusVisualElement" Stroke="#FF6DBDD1" StrokeThickness="1" Opacity="0" IsHitTestVisible="false" /> 

是像

<Rectangle x:Name="FocusVisualElement" Stroke="#FF00FF00" StrokeThickness="1" Opacity="0" IsHitTestVisible="false" /> 

,然后设置你的控制,像这样:

<HyperlinkButton Content="Menue Item 2" Style="{StaticResource NewHyperlinkControl}" /> 
+0

当我改变它的填充颜色属性给它的颜色,但它隐藏文本我如何设置颜色作为背景 – 2011-05-24 10:53:41