C# MVVMLight可观察对象集()

C# MVVMLight可观察对象集(),c#,wpf,xaml,binding,mvvm-light,C#,Wpf,Xaml,Binding,Mvvm Light,我有一个使用MVVM Light的WPF应用程序。我在ViewModel属性中使用了there Set()属性,因为这意味着我不必自己提高PropertyNotify。 在我必须创建一个新的视图和ViewModel之前,这对我来说非常有效,现在当我在ViewModel中更改属性时,我的视图不会得到更新,即使我在调用堆栈中看到正在调用RaisePropertyChanged。 看过代码后,我看不出有什么不同,也看不出为什么一个在工作而另一个不工作。是否有我可能需要寻找的东西,或者是否有其他人经历过

我有一个使用MVVM Light的WPF应用程序。我在ViewModel属性中使用了there Set()属性,因为这意味着我不必自己提高PropertyNotify。 在我必须创建一个新的视图和ViewModel之前,这对我来说非常有效,现在当我在ViewModel中更改属性时,我的视图不会得到更新,即使我在调用堆栈中看到正在调用RaisePropertyChanged。 看过代码后,我看不出有什么不同,也看不出为什么一个在工作而另一个不工作。是否有我可能需要寻找的东西,或者是否有其他人经历过类似的问题

我的财产看起来像这样

private bool _isProgressBarEnabled = true;
    public bool IsProgressBarEnabled
    {
        get { return _isProgressBarEnabled; }
        set { Set(() => IsProgressBarEnabled, ref _isProgressBarEnabled, value); }
    }
这是MVVMLight的Set()属性的存根

protected bool Set<T>(Expression<Func<T>> propertyExpression, ref T field, T newValue);
受保护布尔集(表达式属性Expression,ref T字段,T newValue);

任何帮助都将不胜感激。

您确定元素实际上已绑定到该属性吗?检查输出窗口中的绑定错误。所有的绑定都是正确的,我现在已经设法找到了解决方法,但奇怪的是代码在一个页面中工作,而不是在另一个页面中。我曾尝试引发RaisePropertyChanged事件,但该事件对我无效,因为WPF应用程序在Winforms应用程序中运行。我必须使用Set方法中的System.Windows.Forms.Application.DoEvents()调用,目前正在运行。这是一个棘手的问题,我启动的进程占用了太多资源,以至于UI从来没有机会更新。也许应该早点考虑这个问题,但如果其他人也有类似的问题,那么值得一看线程