【问题标题】:Why should I use Independent<double>为什么我应该使用 Independent<double>
【发布时间】:2017-04-16 07:02:55
【问题描述】:

在用户控件中(这不是我的代码),我发现部分代码我不明白为什么要使用独立而不是依赖属性。 谁能解释一下。谢谢

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

【问题讨论】:

  • 请注意,在单向绑定上设置UpdateSourceTrigger=PropertyChanged 是没有意义的。它没有效果,因为绑定永远不会更新源。除此之外,Independant 是什么?
  • 是的,什么是独立?
  • 你应该告诉我们。它不是 WPF 的一部分。
  • 现在有一个公认的答案,但我们仍然不知道Independent&lt;T&gt; 是什么。这应该有什么用?

标签: wpf user-controls


【解决方案1】:

嗯,通常依赖属性在自定义控件的代码后面,而不是在视图模型中。通常您希望视图模型中的属性实现INotifyPropertyChanged。此属性设置器中没有 OnPropertyChanged 或类似调用,因此它可能是 Independent&lt;double&gt; 中的 Value 属性的设置器所做的。

我猜Independent&lt;T&gt; 是一个包装类,它引发 OnPropertyChanged 并做一些其他的事情,比如 viewmodel property base 类。以here 中提到的ValueViewModel 类为例。

【讨论】:

    猜你喜欢
    • 2017-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 2011-04-22
    • 2011-05-16
    • 2010-12-22
    相关资源
    最近更新 更多