Я пытаюсь использовать ColorAnimation программно для анимации ячейки, но я получил это когда я выполняю storyboard.Begin()
Объект анимации «ColorAnimation» не может использоваться для анимации свойства «Фон», потому что он имеет несовместимый тип «System.Windows.Media.Brush»
'System.Windows.Media.Animation.ColorAnimation' animation object cannot be used to animate property 'Background' because it is of incompatible type 'System.Windows.Media.Brush'.
Я определил мой ColorAnimation
, как
var storyBoard = new Storyboard();
ColorAnimation colorAnimation = new ColorAnimation
{
From = Colors.Red,
To = Colors.CornflowerBlue,
Duration = TimeSpan.FromSeconds(1),
FillBehavior = FillBehavior.Stop
};
и на его использование я
if (column.UniqueName != "_ID")
{
var animation = animationMapping[column.UniqueName].Animation;
var storyboard = animationMapping[column.UniqueName].Storyboard;
Storyboard.SetTarget(animation, cell.Content as TextBlock);
//Storyboard.SetTargetProperty(animation,
// new PropertyPath((TextBlock.Foreground).Color"));
PropertyPath colorTargetPath = new PropertyPath(TextBlock.BackgroundProperty);
Storyboard.SetTargetProperty(animation, colorTargetPath);
storyboard.Begin();
}
Какой параметр мне нужно передать новому PropertyPath
? Я пытался следовать this example, но без везения.
Используйте этот 'PropertyPath colorTargetPath = новый PropertyPath (" (TextBlock.Background). (SolidColorBrush.Color) ", null);'. – AnjumSKhan
@AnjumSKhan Вы действительно пробовали свой код? Если я запустил свой код, я получаю 'InvalidOperationException' с сообщением' Не удается разрешить все ссылки на свойства в пути свойств '(TextBlock.Background). (SolidColorBrush.Color)'. Убедитесь, что применимые объекты поддерживают свойства. '. Очевидно, что этот код не работает. (См. Мой ответ для рабочего.) – haindl