我为什么要使用Independent <double>

时间:2016-12-01 15:10:47

标签: wpf user-controls

在用户控件(这不是我的代码)中,我发现了部分代码,我不明白为什么要使用Independent而不是依赖属性。 有人可以解释一下。谢谢

 <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; }
    }

1 个答案:

答案 0 :(得分:0)

好吧,通常依赖属性属于自定义控件&#39;代码背后,而不是视图模型。通常,您希望视图模型中的属性实现INotifyPropertyChanged。此属性设置器中没有OnPropertyChanged或类似的调用,因此它可能是ValueIndependent<double>属性的setter所做的。

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