带有绑定数据的Issiue WPF C#

时间:2015-12-10 13:42:45

标签: c# wpf xaml data-binding binding

我对数据绑定有疑问。它没有刷新。 我是ViewModel:

public partial class AutomaticTestingViewModel : BindableBase
{
    private TemperatureSensorStates _temperatureSensors;

    public AutomaticTestingViewModel()
    {
        CreateAllObservableCollestions();
    }

    public TemperatureSensorStates TemperatureSensors
    {
        get { return _temperatureSensors; }
        set { SetProperty(ref _temperatureSensors, value); }
    }

    private void CreateAllObservableCollestions()
    {
        TemperatureSensors = new TemperatureSensorStates();
    }
}

TemperatureSensor类在另一个文件中定义:

public class TemperatureSensorStates : BindableBase
{
    private decimal _cpuTemperatureSensor;
    private decimal _insideTemperatureSensor;

    public decimal CpuTemperatureSensor
    {
        get
        {
            return _cpuTemperatureSensor;
        }
        set
        {   
            Log.InfoFormat("CPU temperature setter");
            SetProperty(ref _cpuTemperatureSensor, value);
        }
    }

    public decimal InsideTemperatureSensor
    {
        get { return _insideTemperatureSensor; }
        set
        {
            Log.InfoFormat("Inside sensor temperature setter");
            SetProperty(ref _insideTemperatureSensor, value);
        }
    }
}

我将日志添加到setter,它工作正常,并且在日志中我已经更改了正确的值,但是我在WPF中的绑定冻结了,我看到窗口中没有值更改。 (显示第一个值)。

我的绑定

TextBlock Text="{Binding TemperatureSensors.CpuTemperatureSensor}" Foreground="PaleVioletRed"

有人能找到绑定不起作用的原因(窗口中的值不刷新)吗?

2 个答案:

答案 0 :(得分:0)

看看这个链接。它可能对你有所帮助:

http://www.codeproject.com/Articles/15822/Bind-Better-with-INotifyPropertyChanged

答案 1 :(得分:0)

对不起。问题解决了。绑定没问题。我有SetProperty所以它与OnPropertyChanged相似。我有两个ViewModel实例。这就是为什么它不正确。