在WPF应用程序中,有一些应用程序信息数据量太大。加载此窗口时需要一些时间,尤其是第一次打开时。我正在尝试在窗口打开时实现加载动画,以便应用程序看起来继续响应。
添加加载动画的进程只能在 UI线程上运行,尝试在UI 线程上执行所有操作的问题。需要后台运行或以其他方式不阻塞长时间运行的逻辑。异步运行Task并停止仅执行当前方法,直到它返回。它不会阻塞调用线程。
首先我们创建一个WaitingBox控件,用于显示等待动画,在控件中增加几项属性,RadiusX,RadiusY、圆角。RadiusX和RadiusY设置半径长和宽度。
然后在WaitingBox增加遮罩层,在MaskLayer增加了遮罩层背景色、遮罩层高度、遮罩层宽度、等待动画的圆半径等属性。
Demo版下载地址:https://download.csdn.net/download/liaohaiyin/63234875
Newbeecoder.UI控件库根据用户需求开发稳定而高效项目,通过视频来演示控件库整体功能:
我们运行demo看一下效果和调用代码:
代码语言:html复制<NbUIMaskLayer Style="{DynamicResource DefaultWaitingStyle}" Width="80" WaitingBoxBackground="{Binding Path=Color.Brush_Border1, Source={x:Static NbTheme.Current}}"/>