【问题标题】:How To Remove Light Effect UWP Community Toolkit?如何删除光效 UWP 社区工具包?
【发布时间】:2019-03-17 04:32:10
【问题描述】:

在这里,我在选定的 ListView 项目上运行灯光动画:

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

现在动画完成后如何去掉光效笔刷?

我尝试让子视觉和运行 SpriteVisual.Brush.Dispose() 和 SpriteVisual.Dispose() 都不起作用。

【问题讨论】:

    标签: uwp windows-community-toolkit


    【解决方案1】:

    当您应用 Light 的动画时,您实际上是用 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();
    

    【讨论】:

    • 是的,实际上我首先尝试过。距离为 0 时,聚光灯消失,但效果的阴影部分保持不变,因此 UIElement 完全变暗。
    • 在这种情况下,请考虑在 windows 社区工具包 repo 上打开一个 github 问题 :)
    猜你喜欢
    • 1970-01-01
    • 2020-03-20
    • 1970-01-01
    • 2019-11-09
    • 2018-02-25
    • 2017-12-17
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多