C# Background worker передать строку в ReportProgress

163
01 мая 2019, 14:00

нужно в прогрессбар передавать процент, а в TextBlock имя текущего файла.
передаю int и строку. делаю так:

void bgw_progressChanged(object sender, ProgressChangedEventArgs e)
{
    string[] s = (string[])e.UserState;
    prbar.Value = e.ProgressPercentage;
    currFileNametb.Text = s[0];
}
bgw.ReportProgress((i / fullFilePathes.Count) * 100, fullFilePathes[i]);

потом так:

public class progressObject{
    public string fname { get; set; }
}
void bgw_progressChanged(object sender, ProgressChangedEventArgs e)
{
    prbar.Value = e.ProgressPercentage;
    progressObject po = e.UserState as progressObject;
    currFileNametb.Text = po.fname;
}
bgw.ReportProgress((i / fullFilePathes.Count) * 100,  new progressObject { fname=fullFilePathes[i]});

получаю "Ссылка на объект не указывает на экземпляр объекта."
т.е. передаваемый UserState пустой. как правильно передать строку вместе с числом?

READ ALSO
Помогите перенести написанное на XAML, в code behind

Помогите перенести написанное на XAML, в code behind

Нужна помощь в следующемУ меня в окне есть интерфейс для работы с графикой

168
Создание Word из данных sql на С#

Создание Word из данных sql на С#

У меня есть бдЯ подключаюсь к ней и делаю запрос на интересующие поля

187
Добавление обработчика события в VB.Net

Добавление обработчика события в VB.Net

Какова аналогичная конструкция для следующего в VBNet? Как-то через AddHandler нужно будет?

171
Unity MissingComponentException: There is no 'GameObject' attached to the “BG” game object, but a script is trying to access it

Unity MissingComponentException: There is no 'GameObject' attached to the “BG” game object, but a script is trying to access it

У меня есть GameObject BG , хочу что бы при изменении Toggle он отключался

331