我对数据绑定有疑问。它没有刷新。 我是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"
有人能找到绑定不起作用的原因(窗口中的值不刷新)吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
对不起。问题解决了。绑定没问题。我有SetProperty所以它与OnPropertyChanged相似。我有两个ViewModel实例。这就是为什么它不正确。