Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 绑定WPF进度条从不更新_C#_Wpf - Fatal编程技术网

C# 绑定WPF进度条从不更新

C# 绑定WPF进度条从不更新,c#,wpf,C#,Wpf,在OnPropertyChanged()期间,PropertyChanged事件始终为NULL,因此永远不会调用该事件。我错过了什么 以下是XML代码: <ProgressBar x:Name="ProgressBar1" Value="{Binding PBarValue, UpdateSourceTrigger=PropertyChanged}" Width="200" Height="20" Minimum="0" Maximum="100"></ProgressBar&

在OnPropertyChanged()期间,PropertyChanged事件始终为NULL,因此永远不会调用该事件。我错过了什么

以下是XML代码:

<ProgressBar x:Name="ProgressBar1" Value="{Binding PBarValue, UpdateSourceTrigger=PropertyChanged}" Width="200" Height="20" Minimum="0" Maximum="100"></ProgressBar>
我正在从另一个线程设置进度条的“值”,所以这就是我需要绑定的原因


在这一点上,我已经尝试了很多不同的方法,我的头在旋转

请将XAML中的绑定从PBarValue更改为progress。请参阅下面的代码

<ProgressBar x:Name="ProgressBar1" Value="{Binding progress, UpdateSourceTrigger=PropertyChanged}" Width="200" Height="20" Minimum="0" Maximum="100"></ProgressBar>

更改xaml以绑定到进度:

<ProgressBar x:Name="ProgressBar1" Value="{Binding progress, UpdateSourceTrigger=PropertyChanged}" Width="200" Height="20" Minimum="0" Maximum="100"></ProgressBar>

不管可能存在多线程问题:您正在为属性
PBarValue
触发
PropertyChanged
事件,这将导致绑定通过反射查找属性
PBarValue
的值。但是,看起来您没有该名称的属性。绑定无法知道您希望它检索
progress
属性的值(如果您希望这样做的话)。PBarValue是绑定语句中XML格式的value属性的名称。这不正确吗?绑定中指示的属性名称必须与对象中的实际属性名称相匹配,这样就可以绑定到任何对象。目前还没有,太完美了!现在看起来很清楚。。。有时你可以看到森林里的树木!
<ProgressBar x:Name="ProgressBar1" Value="{Binding progress, UpdateSourceTrigger=PropertyChanged}" Width="200" Height="20" Minimum="0" Maximum="100"></ProgressBar>
private int _progress;
public int progress
{
    get { return _progress; }
    set
    {
        if (value != _progress)
        {
            _progress = value;
            OnPropertyChanged("progress");
        }
    }
}