데이터 바인딩을 사용하여 진행률 막대를 업데이트하려고합니다. XAML 파일은 진행 막대가 포함 최대가 설정되고 내 "업데이트"방법WPF ProgressBar가 업데이트되지 않습니다?
private int progressBarMax;
public int ProgressBarMax
{
get
{
if (this.progressBarMax == 0)
this.progressBarMax = 1;
return this.progressBarMax;
}
set
{
this.progressBarMax = value;
}
}
private int progressBarValue;
public int ProgressBarValue
{
get
{
return progressBarValue;
}
set
{
progressBarValue = value;
}
}
:
는<ProgressBar Height="23" Name="progressBar" VerticalAlignment="Bottom" Margin="207,444,0,0" Minimum="0" Maximum="{Binding ProgressBarMax}" Value="{Binding ProgressBarValue}" />
내 관련 C# 클래스는 게터에게 & 세터가 포함되어 있습니다. 예 : this.progressBarMax = 100;
입니다. 루프에서 progressbar 값의 값은 + = 1입니다. Application.DoEvents()를 사용한 업데이트를 보려면 나중에 스레드를 구현하십시오. 데이터 바인딩은 올바르게 작동해야합니다. 다른 구성 요소도 제대로 작동하기 때문입니다.
왜 내 진행 상황 표시 줄이 업데이트되지 않습니까?
도움 주셔서 감사합니다.
"Application.DoEvents()"의 기능은 무엇입니까? 표준 WPF 함수가 아닙니다. – Jens
알아. 내가 말했듯이, 곧 스레드로 대체 될 것이지만, 일부 테스트의 경우 루프 내에서 변경 사항이 표시됩니다. – oopbase