-
[WPF] Progress, ProgressBarC#/WPF 2025. 8. 25. 15:28
# UnZipFile
Google AI
// 예시: ZipFileExtensions 클래스를 사용한 압축 해제 using System.IO.Compression; using System.IO; using System.Threading.Tasks; using System.Windows; // 또는 다른 UI 네임스페이스 // ... XAML 코드와 함께 사용할 창 클래스 안에서 ... private void UnzipFile(string zipFilePath, string extractPath) { // 메인 UI 스레드를 방해하지 않기 위해 백그라운드 스레드에서 실행 Task.Run(() => { // 파일 목록을 가져와서 총 개수 확인 (전체 크기 확인도 가능) int totalFiles = GetTotalFiles(zipFilePath); // 이 메소드는 별도로 구현 필요 using (ZipArchive archive = ZipFile.OpenRead(zipFilePath)) { int processedFiles = 0; foreach (ZipArchiveEntry entry in archive.Entries) { // 압축 해제 entry.ExtractToFile(Path.Combine(extractPath, entry.FullName), true); processedFiles++; double progressPercentage = (double)processedFiles / totalFiles * 100; // 메인 UI 스레드에서 ProgressBar 업데이트 // Dispatcher를 사용하여 UI 업데이트가 스레드로부터 안전하게 수행되도록 함 Application.Current.Dispatcher.Invoke(() => { UnzipProgressBar.Value = progressPercentage; }); } } // 작업 완료 후 UI 변경 (예: 닫기 버튼 활성화 등) MessageBox.Show("압축 해제가 완료되었습니다!"); }); } // ZIP 파일 내 파일 개수를 반환하는 예시 (별도 구현 필요) private int GetTotalFiles(string zipFilePath) { using (ZipArchive archive = ZipFile.OpenRead(zipFilePath)) { return archive.Entries.Count; } } // 압축 해제 버튼을 누르는 등 특정 이벤트에서 이 메소드를 호출합니다. // 예를 들어: // private void StartUnzipButton_Click(object sender, RoutedEventArgs e) // { // string zipFile = @"경로\to\your\file.zip"; // string extractDir = @"경로\to\extract\to"; // UnzipFile(zipFile, extractDir); // }
https://www.youtube.com/watch?v=YwkM7pVGVx4
https://docs.devexpress.com/WPF/DevExpress.Xpf.Editors.ProgressBarEdit
ProgressBarEdit Class | WPF Controls | DevExpress Documentation
ProgressBarEdit Class Namespace: DevExpress.Xpf.Editors Assembly: DevExpress.Xpf.Core.v25.1.dll NuGet Package: DevExpress.Wpf.Core Declaration C# VB.NET [DXLicenseWpfEditors] public class ProgressBarEdit : RangeBaseEdit, IProgressBarExportSettings, ITextEx
docs.devexpress.com
https://docs.devexpress.com/WPF/DevExpress.Xpf.Controls.StepProgressBar
StepProgressBar Class | WPF Controls | DevExpress Documentation
StepProgressBar Class A control that visualizes event chains. Namespace: DevExpress.Xpf.Controls Assembly: DevExpress.Xpf.Controls.v25.1.dll NuGet Package: DevExpress.Wpf.Controls Declaration C# VB.NET [DXLicenseWpf] public class StepProgressBar : Selector
docs.devexpress.com
728x90'C# > WPF' 카테고리의 다른 글
[WPF] Text delete button, Tags, Token (0) 2025.08.25 [WPF] ComboBox Search History (0) 2025.08.25 [WPF] Custom Control (0) 2025.08.20 [WPF] TargetName (1) 2025.07.09 [WPF] ComboBox Enum Description (0) 2025.06.19 댓글