悬停其中一个时,两个滚动条都会突出显示

Both scrollbars highlight when hovering one

所以我正在为我的应用程序中的 ScrollViewer 控件开发自定义样式。我的风格包含在下面,应该可以在 Blend 中复制和粘贴。

我的自定义 Style 的问题是,当我将鼠标悬停在垂直滚动条上时,水平和垂直滚动条都会突出显示。当我在那之后将鼠标悬停在水平滚动条上时,它们也会突出显示。如果我现在想再次突出显示垂直滚动条,则都不突出显示。

因此,如果我将鼠标悬停在垂直滚动条或水平滚动条上,则两个滚动条都会突出显示,但在先悬停在水平滚动条上后再悬停在垂直滚动条上时,这两个滚动条都不会突出显示。

我不知道为什么会这样。我认为它在某种程度上与我的 StoryBoards 有关,因为当我保留默认 IsMouseOver Triggers 时它工作正常。

因为代码太大,我不得不把它放在 Pastebin 上:http://pastebin.com/g6n0fVyZ。同样,可以 copy/paste 将代码放入 Blend 中,看看我的意思。

您需要将 FillBehavior="Stop" 设置为 ColorAnimation。请参阅本文 Timeline.FillBehavior

    <Storyboard x:Key="Thumb.Leave.Action">
        <ColorAnimation FillBehavior="Stop" Storyboard.TargetName="rectangle"
                       Storyboard.TargetProperty="(Rectangle.Fill).(SolidColorBrush.Color)"
                       To="#FFC9C9C9"
                       Duration="0:0:0.2" />
    </Storyboard>