Как удалить световой эффект UWP Community Toolkit? - PullRequest
0 голосов
/ 12 октября 2018

Здесь я запускаю анимацию Light для выбранного элемента ListView, когда он выбран:

var element = (FrameworkElement)listView.ItemsPanelRoot.Children[listView.SelectedIndex];
await element.Light(20, 500).StartAsync();

Теперь, как мне избавиться от кисти с эффектом Light после завершения анимации?

Я попытался получить визуальное изображение для ребенка и запустить SpriteVisual.Brush.Dispose () и SpriteVisual.Dispose () ни сработало.

1 Ответ

0 голосов
/ 12 октября 2018

когда вы применяете анимацию Light , вы фактически заполняете элемент светом на определенное расстояние (первый параметр вашего метода Light (20,500)).Таким образом, после завершения анимации у элемента в вашем случае будет свет 20.Теперь, чтобы вернуть его в нормальное состояние, вам нужно просто установить light обратно на 0 в любое удобное для вас время (второй параметр - продолжительность анимации). Поэтому после запуска первой анимации вам нужно запустить вторуюанимация, чтобы вернуть его к 0.

var element = (FrameworkElement)listView.ItemsPanelRoot.Children[listView.SelectedIndex];
await element.Light(20, 500).StartAsync();
await element.Light(0, 500).StartAsync();
...