我为什么要使用 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 为例。
在用户控件中(这不是我的代码),我发现部分代码我不明白为什么要使用 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 为例。