【问题标题】:Why does Caliburn.Micro call PropertyChanged为什么 Caliburn.Micro 调用 PropertyChanged
【发布时间】:2013-08-18 18:39:12
【问题描述】:

我有一个没有基类也没有实现 INotifyPropertyChanged 的​​类。 在我的应用程序中,此类的一个对象用作 2 个视图(主视图和详细视图)的视图模型。

如果我按照约定 (x:Name) 创建到属性的绑定。我看到当我在详细视图中更改属性时,它也会在主视图中更新。 当我使用正常的绑定语法时,这不会发生。

谁能解释一下为什么会这样?这是 Caliburn.Micro 的一个功能吗?我在文档中找不到它。

=== 编辑 ==

我刚刚发现,当使用普通绑定时,其他视图也只有在文本框失去焦点后才会更新。 问题仍然存在,当未实现 propertychanged 时,视图如何对视图模型中的更改做出反应。

提前致谢, 马尔维恩。

【问题讨论】:

  • 这些属性是普通的 CLR 属性还是依赖属性?
  • 普通 CLR 属性。
  • 您能发布主视图和详细视图的 XAML 代码吗?

标签: caliburn.micro


【解决方案1】:

Caliburn.Micro 默认将属性与BindingMode.TwoWay 绑定。 如果您没有在自己的绑定中明确指定 - 您使用了 OneWay

【讨论】:

  • 问题(或惊喜)不是值没有得到更新,我很惊讶当我在没有实现 NotifyPropertyChanged 的​​情况下更改属性时两个视图都会更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-16
  • 1970-01-01
相关资源
最近更新 更多