我为什么要使用 Independent<double>

Why should I use Independent<double>

在用户控件中(这不是我的代码),我发现部分代码我不明白为什么要使用 Independent 而不是 dependency 属性。 有人可以吗explain.Thanks

 <Label Content="{Binding Flow, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}" ContentStringFormat="{}{0:N1}" />

视图模型

 private Independent<double> _flow = new Independent<double>(10.567);
    public double Flow
    {
        get { return _flow; }
        private set { _flow.Value = value; }
    }

好吧,通常依赖属性在自定义控件的代码后面,而不是在视图模型中。通常您希望视图模型中的属性实现 INotifyPropertyChanged。 属性 setter 中没有 OnPropertyChanged 或类似调用,所以这可能是 Independent<double>Value 属性 的 setter 所做的。

我猜 Independent<T> 是一个包装器 class,它引发 OnPropertyChanged 并执行一些其他操作,例如 viewmodel property base class。以 ValueViewModel class mentioned here 为例。