0
추출 유틸리티가 .cab
입니다. 내 메인 윈도우에서 .cab
의 이름을 추출하고 현재 추출중인 파일과 추출 완료율을 보여주고 싶습니다.백그라운드 프로세스가 완료 될 때까지 UI가 멈춤.
각 필드에 대해 file name
, percentage
등의 등록 정보가 있습니다. 내 ViewModel
에 있습니다.
모두 잘 작동 있지만
MainVindowViewModel
UI
private void ExtractCab(string outputDirectory)
{
m_CabinetFile.FileExtractBefore += new EventHandler(CabinetFile_FileExtractBefore);
m_CabinetFile.FileExtractComplete += new EventHandler(CabinetFile_FileExtractComplete);
}
에 대한
public string FileExtract
{
get
{
return _fileExtract;
}
set
{
_fileExtract = value;
NotifyPropertyChanged("FileExtract");
}
}
public int Percent
{
get
{
return _percent;
}
set
{
_percent = value;
NotifyPropertyChanged("Percent");
}
}
방법은 트리거합니다.
내가 택시를 추출하기 때 내가 필요한 모든 정보를 얻을 다음과 같은 방법으로있지만 업데이트지고있는 XAML UI에 바인딩
private void CabinetFile_FileExtractBefore(object sender, System.EventArgs e)
{
TFile file = (TFile)sender;
FileExtract = file.FullName;
}
private void CabinetFile_FileExtractComplete(object sender, System.EventArgs e)
{
Count++;
Percent = Convert.ToInt32(((decimal)Count/(decimal)m_CabinetFile.FileCount) * 100);
}
FileExtract
및 Percent
속성 UI
내 조언은'async \ await' 기능이나'BackgroundWorker' 컨트롤을 살펴 보는 것입니다. 'BackGroundWorker'는 이해하기 쉽지만, 제 생각에'async \ await'는 요즘 어떻게 작동하는지 이해하면 더 나은 해결책이 될 것입니다. – AndreySarafanov
@Sheridan 저는 이것이 버그 요청이며 '게시 방법'이 아니라고 생각합니다. –
@LIUFA, 이것은 질문 및 답변 사이트이며 버그를 요청하거나보고 사이트는 아닙니다. 질문 작성자는 'BackgroundWorker'에 문제가있어 문제를 해결할 수 있습니다. – Sheridan