2013-04-13 3 views
1

Я новичок в WPF. Теперь, я должен сделать progressbar в новом окне из моего главного окна, но я не знаю, как заставить его запустить прогресс в новом окне.WPF Progress Bar в новом окне

Ниже мое заявление в MainWindow.xaml.cs:

progressWnd = new ProgressDownloadWindow(cnt_s); 
    progressWnd.Owner = this; 
    progressWnd.ShowDialog(); 
    foreach (var dl in this.dldatagrid.SelectedItems) 
    { 
     string fileName = dl.path; 
     this.Download(fileName, false, date); 
    } 

ответ

1

ProgressBar предоставляет свойство под названием Value, который вы можете использовать, чтобы установить значение ProgressBar. Таким образом, вам нужно будет что-то вроде

foreach (var dl in this.dldatagrid.SelectedItems) 
{ 
    string fileName = dl.path; 
    this.Download(fileName, false, date); 
    progressbar.Value++; 
} 

Кроме того, ваша система не будет работать, как вы используете ShowDialog(), которая создает модальное диалоговое окно, и родительское окно будет блокировать. Итак, вам нужно будет создать окно с новым Dispatcher и запустить его в другом потоке, чтобы он работал, пока вы делаете свои downlods.

Посмотрите на MSDN для справки.