Кнопка Отказов на PropertyChange - PullRequest
0 голосов
/ 23 марта 2012

У меня есть простая кнопка (3 из них - все одинаковые, кроме привязки содержимого, которая представляет собой целое число.

<Button Width="24" Height="24" Style="{StaticResource CircleButton}" 
                   Background="#CC2B2B" Foreground="#FFFFFF"
                   Content="{Binding PinnedItemsCount, 
                             FallbackValue=0, 
                             Mode=TwoWay,  
                             UpdateSourceTrigger=PropertyChanged, 
                             NotifyOnTargetUpdated=True}" 
                   Name="ui_btnPinnedCount" />

Как сделать кнопку нажатой при изменении данных?

Базовое содержимое реализует INotifyPropertyChanged, и все привязки данных работают, просто нужно, чтобы кнопка отскочила 3 ​​раза после изменения данных ....

Спасибо!

Ответы [ 2 ]

3 голосов
/ 23 марта 2012

Использование анимации с DataTrigger

http://msdn.microsoft.com/en-us/library/system.windows.media.animation.bounceease.aspx

Как: запускать анимацию при изменении данных

<Rectangle Name="myRectangle" Width="200" Height="30" Fill="Blue">
<Rectangle.Triggers>
    <EventTrigger RoutedEvent="Rectangle.MouseDown">
        <BeginStoryboard>
            <Storyboard>
                <Storyboard x:Name="myStoryboard">
                    <DoubleAnimation From="30" To="200" Duration="00:00:3" 
                     Storyboard.TargetName="myRectangle" 
                     Storyboard.TargetProperty="Height">
                        <DoubleAnimation.EasingFunction>
                            <BounceEase Bounces="2" EasingMode="EaseOut" 
                             Bounciness="2" />
                        </DoubleAnimation.EasingFunction>
                    </DoubleAnimation>
                </Storyboard>

            </Storyboard>
        </BeginStoryboard>
    </EventTrigger>
</Rectangle.Triggers>

</Rectangle>
0 голосов
/ 23 марта 2012

Это заставляет его постепенно исчезать и заменяться любой анимацией sotryboard, которую я представляю.

        <Button Width="24" Height="24" Style="{StaticResource CircleButton}" Background="#CC2B2B" Foreground="#FFFFFF"
                Content="{Binding PinnedCount, FallbackValue=0, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnTargetUpdated=True}" 
                Name="ui_btnPinnedCount">
            <Button.Triggers>
                <EventTrigger RoutedEvent="Binding.TargetUpdated">
                    <BeginStoryboard>
                        <Storyboard AutoReverse="True">
                            <DoubleAnimation Storyboard.TargetName="ui_btnPinnedCount" Storyboard.TargetProperty="Opacity" To=".1" Duration="0:0:.5" />
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Button.Triggers>
        </Button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...