小编Koe*_*nyn的帖子

Windows phone 8 MVVM Linq表在NotifyPropertyChanging上创建新实例

我有一个Linq DataContext作为应用程序的数据库.我已经设置了MVVM模式,并且能够将新记录插入到数据库中.但是,当我加载这些记录并尝试更新它们时,正在后台创建一个新的记录实例,并使用属性更改进行更新.因此,当UI调用save命令时,最初加载的记录实例没有更改,也不会保存.

据我所知,这是一系列事件

  • 加载实例1
  • 开始更新属性
  • 调用NotifyPropertyChanging
  • 加载了新的instance2
  • 新实例2已更新
  • 从实例1的UI调用保存更改
  • 未进行任何更改,因为实例1尚未更新

以下是我的代码:

/*这是实体*/

[Table]
public class User : IDisposable, INotifyPropertyChanged, INotifyPropertyChanging
{
    private MyDataContext context;

    public event PropertyChangedEventHandler PropertyChanged;
    private void NotifyPropertyChanged(String propertyName)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (null != handler)
        {
            handler(this, new PropertyChangedEventArgs(propertyName));
        }
    }

    public event PropertyChangingEventHandler PropertyChanging;
    private void NotifyPropertyChanging(String propertyName)
    {
        PropertyChangingEventHandler handler = PropertyChanging;
        if (null != handler)
        {
            handler(this, new PropertyChangingEventArgs(propertyName));
        }
    }

    public void Dispose()
    {
        context.Dispose();
    }

    private Guid _id;
    [Column(IsPrimaryKey …
Run Code Online (Sandbox Code Playgroud)

c# linq mvvm windows-phone-8

6
推荐指数
1
解决办法
277
查看次数

标签 统计

c# ×1

linq ×1

mvvm ×1

windows-phone-8 ×1