wpf progressbar 예제

wpf progressbar 예제

2 agosto, 2019

다음은 Visual Basic 및 C#: progLabel 컨트롤의 내용을 ProgressValue로 설정하여 코드가 완료되는 전체 예제입니다. 이 문자열은 이 예제에서와 마찬가지로 ProgressValue에 정수 값이 있는 한 소수점 다음의 숫자없이 표시됩니다. 표준 WPF ProgressBar에서 놓친 한 가지는 진행률 표시줄뿐만 아니라 진행률 표시줄의 텍스트 표현을 표시하는 기능입니다. 다행히도 WPF의 유연성덕분에 이를 쉽게 달성할 수 있습니다. 다음은 사용자가 진행 상황을 확인하는 데 도움이 되지 않는 예입니다. 대신 작업자 스레드에서 작업을 수행한 다음 UI 스레드에 업데이트를 푸시한 다음 즉시 처리하고 이러한 업데이트를 시각적으로 표시할 수 있어야 합니다. 이 작업을 처리하기위한 훌륭한 도구는 이 자습서의 다른 곳에서 훨씬 더 많이 이야기하는 BackgroundWorker 클래스입니다. 다음은 위와 같은 예이지만 이번에는 BackgroundWorker를 사용합니다: WPF의 경우처럼 사용할 컨트롤을 파악하는 데 몇 시간을 보낸 후 솔루션이 간단합니다. 이 예제에서는 StackPanel을 포함하는 일반 그리드 컨트롤을 사용합니다. 다음 코드는 StackPanel 내부의 컨트롤을 보여 주며 있습니다. WPF ProgressBar는 IsIndeterminate 속성을 사용하여 이 모드를 지원하며, 다음 예제에서 단추에 테두리가 있는 후 표시됩니다.

이렇게 하면 진행률 표시줄 주위에 검은색 테두리가 표시되고 나머지 컨트롤에 대한 컨테이너 역할을 합니다. 진행률 표시줄의 크기 나 위치를 변경하는 데 사용해야 하는 컨트롤입니다. 예를 들어 이 프로그램은 진행률 표시줄의 너비가 300픽셀, 높이가 25픽셀이며 StackPanel 내부의 가운데를 만듭니다. 테두리 컨트롤을 수정하여 해당 값을 변경할 수 있습니다. 위의 예제에서는 ProgressBar를 사용하는 것이 얼마나 간단한지 보여 주지만 일반적으로 정적 값이 아닌 일부 실제 작업의 진행률을 보여 드리고자 합니다. WPF는 ProgressBar라고 하는 진행률을 표시하기 위한 편리한 컨트롤과 함께 제공됩니다. 최소 값과 최대값을 설정한 다음 값을 증분하여 작동하며, 이 값은 현재 프로세스의 진행 거리에 대한 시각적 표시를 제공합니다. 다음은 이를 설명하는 매우 기본적인 예입니다: 이 예제를 수정할 수 있는 몇 가지 수정 사항이 있습니다.

예를 들어 텍스트 레이블을 정당화할 수 있습니다. 배경 레이블을 색상 그라데이션 또는 바둑판색 그림으로 채울 수도 있습니다. 매우 기본적인 예로, 창이 준비되는 즉시 0에서 100까지의 루프를 하고 각 반복에서 ProgressBar의 값을 증가시다. 모든 최신 컴퓨터는 눈을 깜박일 수있는 것보다 더 빨리이 작업을 수행 할 수 있으므로 100 밀리 초의 각 반복에 지연을 추가했습니다. 불행히도, 내가 이미 설명했듯이, 아무 일도 일어나지 않을 것입니다. 프로세스 중간에 보이는 방식입니다. 이 코드는 진행률 에 진행단계 단계를 추가합니다. 그런 다음 ProgressValue가 ProgressMaximum보다 큰 경우 코드는 ProgessValue를 ProgressMinimum로 재설정하고 타이머를 중지합니다. 타이머를 시작합니다. 개인 보이드 goButton_Click (개체 발신자, RoutedEventArgs e) { 진행률 = 진행률 타이머.시작(); } 동일한 속성 설정을 여러 ProgressBar 컨트롤에 적용하려면 Style 속성을 사용합니다.

컨트롤에 고유한 모양을 지정하려면 기본 ControlTemplate를 수정할 수 있습니다.