2012-03-12 6 views
0

垂直StackPanelにHyperlinkBut​​tonをホバーすると、HyperlinkBut​​tonの下のコントロールが数ピクセル下になります。これは奇妙なバグだと私は確信していますが、修正があると確信していますが、私が見つけた唯一のHyperlinkBut​​tonのバグ修正は、この位置付けのバグではなく、誰かがこれを見つけましたか?Silverlight:HyperlinkBut​​tonのホバーのバグを修正しましたか?

XAML:

<Canvas x:Name="LayoutRoot"> 
    ... 
    <StackPanel x:Name="Article1" Style="{StaticResource ArticleContainer}" 
       Canvas.Top="46"> 

     <StackPanel Orientation="Horizontal"> 
      <Image x:Name="Article1Image" Style="{StaticResource ImageCategory}"/> 
      <TextBlock x:Name="Article1Title" Style="{StaticResource TitleText}"/> 
     </StackPanel> 

     <TextBlock x:Name="Article1Posted" Style="{StaticResource PostedText}"/> 

     <HyperlinkButton x:Name="Author1Link" Style="{StaticResource HLBStyling}"> 
      <TextBlock x:Name="Article1By" Style="{StaticResource AuthorText}"/> 
     </HyperlinkButton> 

     <TextBlock x:Name="Article1Content" Style="{StaticResource ContentText}"/> 

     <HyperlinkButton x:Name="Article1Link" Style="{StaticResource HLBStyling}"> 
      <TextBlock x:Name="Article1ReadMore" Style="{StaticResource ReadMoreText}"/> 
     </HyperlinkButton> 

    </StackPanel> 
    ... 
    </Canvas> 

App.xaml:

<Style x:Key="ContentPanel" TargetType="Border"> 
     <Setter Property="Height" Value="427"/> 
     <Setter Property="Width" Value="250"/> 
     <Setter Property="Canvas.Top" Value="33"/> 
     <Setter Property="Canvas.Left" Value="0"/> 
     <Setter Property="Canvas.ZIndex" Value="1"/> 
    </Style> 

    <Style x:Key="ArticleContainer" TargetType="StackPanel"> 
     <Setter Property="Height" Value="195"/> 
     <Setter Property="Width" Value="230"/> 
     <Setter Property="Canvas.Left" Value="10"/> 
     <Setter Property="Canvas.ZIndex" Value="2"/> 
    </Style> 

    <Style x:Key="ImageCategory" TargetType="Image"> 
     <Setter Property="Width" Value="40"/> 
     <Setter Property="Height" Value="40"/> 
     <Setter Property="Margin" Value="5,5,5,0"/> 
    </Style> 

    <Style x:Key="TitleText" TargetType="TextBlock"> 
     <Setter Property="LineStackingStrategy" Value="BlockLineHeight"/> 
     <Setter Property="FontSize" Value="14"/> 
     <Setter Property="FontWeight" Value="SemiBold"/> 
     <Setter Property="TextWrapping" Value="Wrap"/> 
     <Setter Property="Height" Value="32"/> 
     <Setter Property="Width" Value="170"/> 
     <Setter Property="TextTrimming" Value="WordEllipsis"/> 
     <Setter Property="Margin" Value="10,0,0,0"/> 
    </Style> 

    <Style x:Key="PostedText" TargetType="TextBlock"> 
     <Setter Property="FontSize" Value="12"/> 
     <Setter Property="TextWrapping" Value="Wrap"/> 
     <Setter Property="Height" Value="14"/> 
     <Setter Property="Width" Value="230"/> 
     <Setter Property="Margin" Value="0,10,0,0"/> 
    </Style> 

    <Style x:Key="AuthorText" TargetType="TextBlock"> 
     <Setter Property="FontSize" Value="12"/> 
     <Setter Property="TextWrapping" Value="Wrap"/> 
     <Setter Property="Height" Value="14"/> 
     <Setter Property="Width" Value="230"/> 
    </Style> 

    <Style x:Key="ContentText" TargetType="TextBlock"> 
     <Setter Property="LineStackingStrategy" Value="BlockLineHeight"/> 
     <Setter Property="FontSize" Value="12"/> 
     <Setter Property="TextWrapping" Value="Wrap"/> 
     <Setter Property="MaxHeight" Value="90"/> 
     <Setter Property="Width" Value="230"/> 
     <Setter Property="TextTrimming" Value="WordEllipsis"/> 
    </Style> 

    <Style x:Key="ReadMoreText" TargetType="TextBlock"> 
     <Setter Property="FontSize" Value="12"/> 
     <Setter Property="Height" Value="16"/> 
    </Style> 

    <Style x:Key="HLBStyling" TargetType="HyperlinkButton"> 
     <Setter Property="BorderThickness" Value="0"/> 
     <Setter Property="IsTabStop" Value="False"/> 
    </Style> 
+0

このバグではありません:http://peterbrady.net/News/Details/quick-fix-for-silverlight-hyperlinkbutton-rendering –

+0

あなたのxamlはどのように見えますか?私は=

+0

私はXAMLを追加しました。あなたのコードと私の間に見られる唯一の本当の違いは、Grid vs. Canvasです。 –

答えて

0

これはあなたの2つのスタイルあなたがHyperLinkBut​​ton(HLBStyling)のために使用していて、そこに含まれるテキストブロックによって引き起こされる(AuthorText、ReadMoreText) 。 TextBlockを削除し、HyperLinkBut​​tonのコンテンツを設定するだけで問題は解決します。また、ボタン内のTextBlocksからスタイルを削除すると、問題はなくなります。

+0

具体的には何が原因なのか知っていますか?あなたのスタイル以外。これは、修正よりも回避策があります。 –

+0

私はあなたの助けに感謝します、私はそれより深い答えを探しています。 –

+0

これは、TextBlockスタイルのHeightプロパティによって発生します。高さを14に設定していますが、HyperLinkBut​​tonにマウスを置くと、それ以上のスペースが必要です –

関連する問題