【问题标题】:Refresh a property's binding after it's parent reference is changed更改父引用后刷新属性的绑定
【发布时间】:2012-05-08 21:18:59
【问题描述】:

假设我有一个 ViewModel,上面有一个名为 Customer 的属性。当客户更改时,它会引发 NotifyPropertyChanged。

Customer 类上还有其他属性(都在 setter 中引发 NotifyPropertyChanged)。例如,它具有 FirstName 和 LastName 字符串。其中的另一个属性称为地址。

Address 具有 Line1、Line2、Zip、State 等属性。它们在更改时也会引发 NotifyPropertyChanged。

我有直接绑定到这些元素的 UI 元素。我发现当我做这样的事情时:

CurrentCustomer = FoundCustomer;

FirstName 和 LastName 等项目在我的 BoundControls 中得到更新,但 Line1、Line2、Zip 和 State 没有。

我已经尝试过像这样创建 Address 的 ViewModel 实例:

CurrentAddress = FoundCustomer.Address;

当我这样做时,绑定的属性会正确更新。

我缺少一些关于绑定的东西吗?它只更新一层吗?还是只有值(非引用)对象?

或者这应该有效,我需要仔细查看我的绑定?

【问题讨论】:

  • CurrentCustomer 是如何绑定到表单的?

标签: c# .net wpf binding


【解决方案1】:

尝试不要在 setter 中引发 NotifyPropertyChanged,而是仅在需要引发属性时尝试在代码中的某处引发属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-18
    • 2013-08-16
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-10
    • 2019-03-24
    相关资源
    最近更新 更多