在这里,当选定选定的ListView项时,我会对其进行灯光动画处理:
var element = (FrameworkElement)listView.ItemsPanelRoot.Children[listView.SelectedIndex];
await element.Light(20, 500).StartAsync();
现在如何在动画制作完成后摆脱光效果笔刷?
我尝试让孩子看到并运行SpriteVisual.Brush.Dispose()和SpriteVisual.Dispose()均无效。
答案 0 :(得分:0)
当您应用 Light 的动画时,实际上是将Light填充到特定距离(Light(20,500)方法的第一个参数)。因此,在动画制作完成后,根据您的情况,该元素的灯光为20。现在要将其恢复正常,您只需要在您喜欢的任何时间将其灯光设置回0 (第二个参数是动画的持续时间。)因此,在运行第一个动画之后,您需要运行第二个动画将其恢复为0。
var element = (FrameworkElement)listView.ItemsPanelRoot.Children[listView.SelectedIndex];
await element.Light(20, 500).StartAsync();
await element.Light(0, 500).StartAsync();