2

Я пытаюсь изменить цвет элемента на красть списке следует справа, используя следующую раскадровку, но он бросает исключение, которое говоритColorAnimation анимировать цвет ListViewItem на Размах - WP8.1

WinRT информация: ColorAnimation не может использоваться для анимации свойства. Фон из-за несовместимого типа. Дополнительная информация: Установленные компоненты не обнаружены.

Этот код, который я использовал. Это написано в случае ManipulationDelta

Grid ChannelGrid = (Grid)sender; 
Grid DeleteGrid = (Grid)((Grid)(ChannelGrid.Parent)).Children[1]; 

Сетки шаблон элемента для ListViewItem и к которому событие манипулирования подключено.

else if (e.Position.X - initialpoint.X > 30 && ChannelGrid.Width == 380) // Swipe right 
     { 
      e.Complete(); 
      Storyboard SwipeRight = new Storyboard(); 

      ColorAnimation changeColorAnimation = new ColorAnimation(); 
      changeColorAnimation.EnableDependentAnimation = true; 
      changeColorAnimation.To = Colors.Green; 
      changeColorAnimation.Duration = new Duration(TimeSpan.FromMilliseconds(100)); 
      Storyboard.SetTarget(changeColorAnimation, ChannelGrid); 
      Storyboard.SetTargetProperty(changeColorAnimation, "Background");//**WRONG** 
      SwipeRight.Children.Add(changeColorAnimation); 
      SwipeRight.Begin(); 
     } 
+2

вы можете ответить на свой вопрос в поле ответа, а затем пометить как ответил – thumbmunkeys

+0

@thumbmunkeys да. Сделал это. – alfah

ответ

1

Обнаружено решение: D Это объект TargetProperty, который вызывает исключение. Вам нужно установить свойство цели следующим образом

PropertyPath p = new PropertyPath("(ChannelGrid.Background).(SolidColorBrush.Color)"); 
Storyboard.SetTargetProperty(changeColorAnimation, p.Path); 

и не

Storyboard.SetTargetProperty(changeColorAnimation, "Background");//**WRONG**