Silverlight:更改鼠标上方的背景笔刷

Silverlight:更改鼠标上方的背景笔刷,silverlight,animation,Silverlight,Animation,在我的Silverlight应用程序中,我想更改鼠标上按钮的背景笔刷。我为我的按钮制作了一个样式,并更改了鼠标在VisualState上的位置: <VisualState x:Name="MouseOver"> <Storyboard> <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Background)" Storyboard.TargetName="Bor

在我的Silverlight应用程序中,我想更改鼠标上按钮的背景笔刷。我为我的按钮制作了一个样式,并更改了鼠标在VisualState上的位置:

<VisualState x:Name="MouseOver">
    <Storyboard>
    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Background)" Storyboard.TargetName="BorderBackground">
        <DiscreteObjectKeyFrame KeyTime="0">
            <DiscreteObjectKeyFrame.Value>
                <Background>{TemplateBinding BorderBrush}</Background>
            </DiscreteObjectKeyFrame.Value>
        </DiscreteObjectKeyFrame>
    </ObjectAnimationUsingKeyFrames>
    </Storyboard>
</VisualState>

{TemplateBinding BorderBrush}
这不起作用,因为名称空间中不存在“背景”名称http://schemas.microsoft.com/client/2007“’有什么想法吗?我如何在鼠标悬停时将背景笔刷设置为边框笔刷,而不使用代码隐藏和适当的事件

提前感谢,

Frank

背景
控件的属性
不是
UIElement
,这就是它不工作的原因

您需要使用以下各项:

... Storyboard.TargetProperty="(Control.Background)" ...

它不起作用,因为我不能在VisualStateManager中使用绑定,正如这里所解释的:

谢谢您的回复!不幸的是,如果我显式地键入{TemplateBinding BorderBrush},它仍然告诉我“名称”Background“在名称空间中不存在”。(错误行是{TemplateBinding BorderBrush}行,顺便说一句)它告诉我,嵌套属性不受支持。这一切都不起作用,因为我无法在VisualStateManager中使用绑定。