gpt4 book ai didi

c# - 在属性的父引用更改后刷新属性的绑定(bind)

转载 作者:太空宇宙 更新时间:2023-11-03 16:32:01 27 4
gpt4 key购买 nike

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

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

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

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

CurrentCustomer = FoundCustomer;

我的 BoundControls 中的 FirstName 和 LastName 之类的项目正在更新,但 Line1、Line2、Zip 和 State 没有。

我尝试过制作一个 Address 的 ViewModel 实例,如下所示:

CurrentAddress = FoundCustomer.Address;

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

我是否遗漏了有关绑定(bind)的内容?它只更新一层深吗?或者只有值(不是引用)对象?

或者这是否应该起作用,我需要仔细查看我的绑定(bind)?

最佳答案

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

关于c# - 在属性的父引用更改后刷新属性的绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10506658/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com