Анимация изменения цвета TextBlock - PullRequest
0 голосов
/ 14 сентября 2011

Есть ли способ оживить изменение цвета TextBlock?

В настоящее время я в основном использую события ввода / вывода, чтобы изменить цвет, и я хотел бы, чтобы это было почти как затухание (но быстрое затухание, поэтому 0,1 / 0,2 с), чтобы придатьболее приятный внешний вид, а не мгновенный.

Любой совет, как лучше всего / проще всего это сделать?

пс.Из-за ограничений, реальный код - vb.net, но я приму ответы на c # .net, так как могу хорошо читать оба.Просто изучаю WPF.

та

1 Ответ

2 голосов
/ 14 сентября 2011

Вы хотите ColorAnimation.На этой странице есть пример в XAML:

<!-- Animates the brush's color to orange
     when the mouse leaves the rectangle. -->
<EventTrigger RoutedEvent="Rectangle.MouseLeave">
  <BeginStoryboard>
    <Storyboard>
      <ColorAnimation
        Storyboard.TargetName="MyAnimatedBrush"
        Storyboard.TargetProperty="Color"
        To="Orange" Duration="0:0:1" />
    </Storyboard>
  </BeginStoryboard>
</EventTrigger> 

или в коде:

'
' Animate the brush's color to orange when
' the mouse leaves the rectangle.
'
Dim mouseLeaveColorAnimation As New ColorAnimation()
mouseLeaveColorAnimation.To = Colors.Orange
mouseLeaveColorAnimation.Duration = TimeSpan.FromSeconds(1)
Storyboard.SetTargetName(mouseLeaveColorAnimation, "MyAnimatedBrush")
Storyboard.SetTargetProperty(mouseLeaveColorAnimation, New PropertyPath(SolidColorBrush.ColorProperty))
Dim mouseLeaveStoryboard As New Storyboard()
mouseLeaveStoryboard.Children.Add(mouseLeaveColorAnimation)
AddHandler aRectangle.MouseLeave, Sub(sender As Object, e As MouseEventArgs) mouseLeaveStoryboard.Begin(Me)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...