Как запустить индикатор выполнения непрерывно до тех пор, пока DLL не будет правильно загружена.
Привет ,
Я борюсь с этим вопросом уже три дня.
Я использую индикатор выполнения в окне всплеска. Этот индикатор выполнения работает правильно, если я ставлю задачу await.Задержка (1000)через одну секунду моя dll будет загружаться, потому что программа ждет завершения времени задержки. Через 1 секунду мой индикатор выполнения остановился, и моя dll начала загружаться.Это делает программу ленивой и занимает много времени для загрузки приложения
я хочу, чтобы оба работали одновременно . Мой индикатор прогресса должен работать непрерывно и
Моя библиотека dll должна работать на заднем плане. После этого откроется окно входа в систему, поэтому, пожалуйста, помогите мне
Ниже приведен мой код
Я создал индикатор выполнения в Xaml.
&ЛТ;минимальная компонента ProgressBar="0" максимальное="100" высота="10" фон="прозрачный" ширина="100" изображения="черный" имя="pbStatus" IsIndeterminate="true" в сетку.Столбец=" 1 "Поле =" 4,29,-4,20 " />
Мое Окно-Заставку Код В Приложение.Язык XAML.в CS
var splashScreen = new SplashWindow(); //this.MainWindow = splashScreen; //this.MainWindow.Close(); splashScreen.Show(); // System.Threading.Thread th = new System.Threading.Thread(); //in order to ensure the UI stays responsive, we need to //do the work on a different thread Task.Factory.StartNew(() => { //simulate some work being done System.Threading.Thread.Sleep(5000); //since we're not on the UI thread //once we're done we need to use the Dispatcher //to create and show the main window this.Dispatcher.Invoke(() => { //initialize the main window, set it as the application main window //and close the splash screen var mainWindow = new Views.Common.LogIn(); this.MainWindow = mainWindow; mainWindow.Show(); splashScreen.Close(); }); });
Как я могу прийти с этим вопросом
Что я уже пробовал:
this.Dispatcher.Invoke(() => { //initialize the main window, set it as the application main window //and close the splash screen var mainWindow = new Views.Common.LogIn(); this.MainWindow = mainWindow; mainWindow.Show(); splashScreen.Close(); }); });
<pre>Task.Run(() => { var mainWindow = new Views.Common.LogIn(); this.MainWindow = mainWindow; mainWindow.Show(); splashScreen.Close(); }