일부 구성 요소 검사를 수행하는 동안 내 앱에 진행률 막대가 표시되기를 원합니다. 그러나 데스크톱 응용 프로그램 프로그래밍 및 WPF에 대한 지식 부족으로 인해 적절한 장소를 찾을 수 없습니다.WPF 진행률 막대를 시작하는시기
Window_Loaded()
, ContentRendered()
동안 진행률 표시 줄을 늘리려고했지만 행운이 없었습니다.
progressBar가 증가하는 것을 보여주는 대신 진행률 막대의 최종 상태 만 표시합니다. 여기
내가 CheckComponents()
방법을 놓아야 코드
public partial class Loading : Window
{
public Loading()
{
InitializeComponent();
SetProgressBar();
this.Show();
CheckComponents();
}
private void CheckComponents()
{
System.Threading.Thread.Sleep(3000);
CheckProductionDBConnection();
pgrsBar.Value = 30;
System.Threading.Thread.Sleep(3000);
CheckInternalDBConnection();
pgrsBar.Value = 60;
System.Threading.Thread.Sleep(3000);
CheckProductionPlanning();
pgrsBar.Value = 90;
//MainWindow mainWindow = new MainWindow();
//mainWindow.Show();
}
private void SetProgressBar()
{
pgrsBar.Minimum = 0;
pgrsBar.Maximum = 100;
pgrsBar.Value = 0;
}
//more code down here...
입니까?
내가 상상하는 것처럼 간단하지 소리 :
다음은 시작하는 몇 가지 예제 코드입니다. 고마워요. WPF가 일반적인 Windows 양식과 완전히 다르다는 것을 알았습니다. –
그냥 호기심이 다시 ..이게 뭐야? 'this.Dispatcher.BeginInvoke (새로운 액션 (() => pgrsBar.Value = 90)); '람다 뭐야? –
이 작품! 스레딩 소유 오류를 피하기 위해'CheckProductionDBConnection();을이 this.Dispatcher.BeginInvoke (새 작업() => CheckProductionDBConnection());로 변경해야합니다. 다른 Check .. 함수와 동일합니다. 다시 한 번 감사드립니다! –