Revit开发执行命令时如果时间长,界面会顶住,导致用户误以为程序未响应,解决方法:增加WPF ProgressBar 进度条执行程序中显示进度条,提示命令还是进行中,
实现流程:
- 新建一个WPF,Window启动时加载一个事件Loaded=“Window_Loaded”,用于显示进度条
- 在WPF后台,新建一个异步的事件更新进度条值
- 新建一个ProgressBarView类,singleton,instance创建显示、关闭进度条的方法
- 在Revit 执行主方法使用进度条
直接上代码。
WPF 前台代码:
<Window x:Class="MagicTools.ProgressView"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d" MaxHeight="25" MaxWidth="250" Topmost="True"WindowStyle="None"WindowStartupLocation="CenterScreen" Background="Transparent" AllowsTransparency="True"Loaded="Window_Loaded" ><Grid ><ProgressBar x:Name="progressBar"Width="250" Height="25" Minimum="0" Maximum="100" Value="0" /></Grid>
</Window>
Window后台代码:
using System;
using System.Threading;
using System.Threading.Tasks;
using