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