Silverlight:修复HyperlinkButton悬停错误?

Silverlight:修复HyperlinkButton悬停错误?,silverlight,hyperlink,position,Silverlight,Hyperlink,Position,将HyperlinkButton悬停在垂直堆叠面板中时,HyperlinkButton下方的控件会向下移动几个像素。这是一个奇怪的错误,我相信有一个修复,但我发现唯一的HyperlinkButton错误修复与悬停时大文本呈现有点模糊有关,而不是这个定位错误。有人见过这个吗 XAML: App.xaml: <Style x:Key="ContentPanel" TargetType="Border"> <Setter Property="Height" V

将HyperlinkButton悬停在垂直堆叠面板中时,HyperlinkButton下方的控件会向下移动几个像素。这是一个奇怪的错误,我相信有一个修复,但我发现唯一的HyperlinkButton错误修复与悬停时大文本呈现有点模糊有关,而不是这个定位错误。有人见过这个吗

XAML:

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>

这是由HyperLinkButton HLBStyling使用的两种样式及其包含AuthorText、ReadMoreText的文本块引起的。
如果删除TextBlock并只设置HyperLinkButton的内容,问题就会消失。另外,如果从按钮内的文本块中删除样式,问题就会消失。

不是这个错误:您的xaml看起来像什么?我无法复制添加了xaml的问题。我看到你的代码和我的代码之间唯一的真正区别是网格和画布。更改为使用画布,但仍然无法复制。我直接在主页上做这一切也许这和样式有关?添加了相关的app.xaml代码。另外,我的画布中有两个StackPanel,它们都是这样做的。你知道具体是什么导致了它吗?除了你的风格。这与其说是一个修复,不如说是一个解决方法。我非常感谢你的帮助,我只是在寻找一个更深层次的答案。这是由TextBlock样式的高度属性造成的。您正在将高度设置为14,但HyperLinkButton需要更多的空间来完成鼠标悬停时的操作
    <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>