2011-07-14 5 views
0

У меня есть приложение призмы WPF MVVM для загрузки файлов. Меня перечислили из каталога в файл данных и кнопку «Загрузить» на , загрузив выбранные файлы из datagrid.WPF привязка данных Asynchronous

Для этого я передаю Grid 'selecteditems' в параметр команды кнопки. Я успешно реализовал это синхронно и теперь хотел расширить эту функциональность асинхронным способом. с помощью делегата

это мой Асинхронный вызов функции

asyncUpload.BeginInvoke(selectedFiles,out tt, new AsyncCallback(test),null); 

Здесь выбранные файлы являются «SelectedItems» из DataGrid, прошедшего через параметр командной кнопки загрузки. Проблема в том, что при выполнении первого потока для загрузки я выбираю другой набор файлов из datagrid для загрузки , который изменит выбранные файлы первого потока.

Как я могу это решить?

Заранее спасибо ...

ответ

0

Не сдавшие фактический список 'SelectedItems' в ваш метод BeginInvoke().

Вместо этого отправьте копию списка «SelectedItems».

Array[] array = new Array[dataGrid.SelectedItems.Count]; 

dataGrid.SelectedItems.CopyTo(array,0); 

asyncUpload.BeginInvoke(array.ToList(), out tt, new AsyncCallback(test), null); 
+0

спасибо, я реализовал это ... с помощью Еогеасп (объект сс в selectedFiles) {} перед asyncbegin.Invoke ... – S007

Смежные вопросы