Silverlight: изменение фона кисти на MouseOver - PullRequest
0 голосов
/ 03 декабря 2010

в моем Silverlight-приложении я хочу изменить фоновую кисть моей кнопки при наведении курсора мыши. Я сделал стиль для своей кнопки и изменил MouseOver-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>

, который не работает, потому что 'имя "Background" не существует в пространстве имен "http://schemas.microsoft.com/client/2007".' Любая идея, как я могу установить Background-Brush на Border-Brush при наведении мыши, не делая это с кодом позади а соответствующие события?

Заранее спасибо,
Frank

Ответы [ 2 ]

1 голос
/ 03 декабря 2010

Background является свойством Control, а не UIElement, поэтому оно не работает.

Источник

Вам нужно будет использовать следующее:

... Storyboard.TargetProperty="(Control.Background)" ...
0 голосов
/ 20 декабря 2010

Это не работает, потому что я не могу использовать Binding в VisualStateManager, как описано здесь: Использование TemplateBinding в ObjectAnimationUsingKeyFrames

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...