【问题标题】:WPF InotifyPropertyChanged and view modelsWPF InotifyPropertyChanged 和查看模型
【发布时间】:2010-05-13 23:49:48
【问题描述】:

所以我认为我正在做一些非常基本的事情。我知道为什么这不起作用,但似乎应该有一种直截了当的方法让它起作用。

代码:

private string fooImageRoot;
 // ....
 public BitmapImage FooImage
 {
  get
  {
   URI imageURI = new URI(Path.Combine(fooImageRoot, CurrentFooTypes.FooObject.FooImageName));
   return imageURI;
  }
 }

所以 CurrentFOoTypes 和 FooObject 也支持 INotifyPropertyChanged。

所以如果我将 TextBlock 绑定到 CurrentFooTypes.FooObject.FooImageName,如果 fooObject 或 FooImageName 更改文本块更新。如何订阅我的视图模型对象以接收类似方式的更新。

【问题讨论】:

    标签: wpf viewmodel inotifypropertychanged


    【解决方案1】:

    如果我错了,请纠正我。您希望收到有关属性 FooImageName 和 FooObject 更改的通知,这两个拥有对象都使用 INotifyPropertyChanged 来提醒观察者这些属性已更改。

    Josh Smith 有一个很好的article,他在其中引入了一个 PropertyObserver 对象,该对象仅用于此场景。

    MVVM Foundation 包括此对象以及其他有助于 MVVM 开发的对象。

    您可以使用 PropertyObserver 或自定义代码来观察您感兴趣的属性(在本例中为 FooObject 和 FooImageName)的变化,并根据这些变化执行更新图像 URI 所需的任何操作。

    【讨论】:

    • 谢谢,这正是我所需要的。
    猜你喜欢
    • 1970-01-01
    • 2011-07-14
    • 2011-12-17
    • 2015-09-11
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 2021-09-07
    相关资源
    最近更新 更多