C# ColorAnimation在滑动时设置listviewItem颜色的动画-WP8.1
我试图使用下面的故事板更改右键滑动时listview项的颜色,但它引发了一个异常,该异常表示 WinRT信息:由于类型不兼容,ColorAnimation无法用于设置属性背景的动画。 其他信息:未检测到已安装的组件 这就是我使用的代码。这写在操纵增量事件中C# ColorAnimation在滑动时设置listviewItem颜色的动画-WP8.1,c#,windows-phone-8,windows-runtime,listviewitem,coloranimation,C#,Windows Phone 8,Windows Runtime,Listviewitem,Coloranimation,我试图使用下面的故事板更改右键滑动时listview项的颜色,但它引发了一个异常,该异常表示 WinRT信息:由于类型不兼容,ColorAnimation无法用于设置属性背景的动画。 其他信息:未检测到已安装的组件 这就是我使用的代码。这写在操纵增量事件中 Grid ChannelGrid = (Grid)sender; Grid DeleteGrid = (Grid)((Grid)(ChannelGrid.Parent)).Children[1]; 网格是listviewitem的项目模板,
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();
}
找到解决方案:D导致异常的是TargetProperty。您需要如下设置目标属性
PropertyPath p = new PropertyPath("(ChannelGrid.Background).(SolidColorBrush.Color)");
Storyboard.SetTargetProperty(changeColorAnimation, p.Path);
而不是
Storyboard.SetTargetProperty(changeColorAnimation, "Background");//**WRONG**
您可以在答案框中回答自己的问题,然后标记为answered@thumbmunkeys是的。是我干的。