c# - 字段更改时,MVVM 对象触发属性更改事件

标签 c# wpf mvvm data-binding

所以我有一个对象的 MVVM 绑定(bind)设置。该对象属于如下类:

public class SomeClass
{
  public int Field1 {get; set:}
  public List<MyClass> CollectionOfObjects {get; set;}
  public string Description {get; set;}
}

我的 MVVM 类实现了 INotifyPropertyChanged ...
private SomeClass _viewableObject;
public SomeClass ViewableObject
{
    get
     {
       return _viewableObject;
     }
    set
     {
        _viewableObject = value;
        OnPropertyChanged("ViewableObject");
     }


} 

这在我定义一个新对象的情况下非常有用。例如:
 ViewableObject = new SomeClass();

但我将 UI 组件绑定(bind)到 SomeClass 的字段。 . Field1Description被推送到文本框并说CollectionOfObjects被推送到 DataGrid .
<Datagrid .... ItemsSource = "{Binding ViewableObject.CollectionOfObjects}" ></DataGrid>

所以如果我只更新 ViewableObject.CollectionOfObjects而不是全部ViewableObject如何让 UI 更新以反射(reflect)修改?有没有更简洁的方法来做到这一点,而不是拆分 SomeClass 的每个字段?在 MVVM 中?

最佳答案

您可以创建自己的集合来实现 INotifyCollectionChanged ,但您会发现只使用 ObservableCollection 会更容易。已经这样做了。

关于c# - 字段更改时,MVVM 对象触发属性更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25091036/

相关文章:

c# - 我们总是需要使用 context.Server.MapPath 吗?如果我缓存结果怎么办?

c# - 在 ASP.NET MVC 中,如何检查属性是否有错误?

c# - 为什么此代码使用异步方法?

c# - Windows Phone 7 下载图像并显示它

wpf - ToggleButton 悬停和单击行为

wpf - 无法识别目标名称

wpf - Josh Smith 在 MVVM 中的 CommandViewModel,有什么意义?

c# - 视觉状态和自定义依赖属性 (MVVM)

c# - wpf UIElement 是否有任何唯一标识符?

swift - 如何为该SwiftUI核心数据模型正确插入排序描述符?