我正在尝试通过使用数据绑定来更新进度条。 XAML文件包含进度条:

<ProgressBar Height="23" Name="progressBar" VerticalAlignment="Bottom" Margin="207,444,0,0" Minimum="0" Maximum="{Binding ProgressBarMax}" Value="{Binding ProgressBarValue}" />


我相关的C#类包含getter和setter:

    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;
        }
    }


在我的“更新”方法中,设置了最大值。例如this.progressBarMax = 100;。在一个循环中,progressbar的值将获得+ = 1的值。要查看我使用Application.DoEvents()的更新,稍后我将实现线程。数据绑定必须正确,因为我还有其他可以正常工作的组件。

那么为什么我的进度栏不更新?

谢谢您的帮助。

最佳答案

您需要实现一种方法,以便每当ProgressBarValue更改时就通知您的ProgressBar。看一下INotifyPropertyChanged界面。

10-01 23:18