将linq查询转换为ObservableCollection - c#

这是我试图将数据网格绑定到的代码:

var query = (from s in entity.Sources 
                  where s.CorporationId == corporationId 
                  select new SourceItem
                  {
                    CorporationId =  s.CorporationId,
                    Description=s.Description,
                    IsActive =  s.IsActive,
                    Name=s.Name,
                    SourceId=s.SourceId,
                    TokenId=s.TokenId
                  });
      var x = new ObservableCollection<Source>(query);

这是我的SourceItetm类:

   private void SourceDataGrid_AddingNewItem(object sender, System.Windows.Controls.AddingNewItemEventArgs e)
    {
      var sources = new Source();
      sources.CorporationId = _corporationId;
      sources.Description = string.Empty;
      sources.IsActive = true;
      sources.Name = string.Empty;
      sources.SourceId = Guid.NewGuid();
      sources.TokenId = Guid.NewGuid();
      e.NewItem = sources;
    }

    public class SourceItem
    {
      private Guid _corporationId1;
      private string _description;
      private bool _isActive;
      private string _name;
      private Guid _sourceId;
      private Guid _tokenId;

      public Guid CorporationId
      {
        set
        {
          _corporationId1 = value;
          onPropertyChanged(this, "CorporationId");
        }
        get { return _corporationId1; }
      }

      public string Description
      {
        set
        {
          _description = value;
          onPropertyChanged(this, "Description");
        }
        get { return _description; }
      }

      public bool IsActive
      {
        set
        {
          _isActive = value;
          onPropertyChanged(this, "IsActive");
        }
        get { return _isActive; }
      }

      public string Name
      {
        set
        {
          _name = value;
          onPropertyChanged(this, "NAme");
        }
        get { return _name; }
      }

      public Guid SourceId
      {
        set
        {
          _sourceId = value;
          onPropertyChanged(this, "SourceId");
        }
        get { return _sourceId; }
      }

      public Guid TokenId
      {
        set
        {
          _tokenId = value;
          onPropertyChanged(this, "TokenId");
        }
        get { return _tokenId; }
      }


      // Declare the PropertyChanged event
      public event PropertyChangedEventHandler PropertyChanged;

      // OnPropertyChanged will raise the PropertyChanged event passing the
      // source property that is being updated.
      private void onPropertyChanged(object sender, string propertyName)
      {
        if (PropertyChanged != null)
        {
          PropertyChanged(sender, new PropertyChangedEventArgs(propertyName));
        }
      }

    }

  }

我在绑定正确时遇到问题。此行特别是:

var x = new ObservableCollection<Source>(query);

它告诉我它无法解析构造函数。

我在执行约束力吗?

参考方案

您选择的类型是SourceItem,因此您应该使用:

new ObservableCollection<SourceItem>(query.ToList());

WPF-将窗口大小设置为子用户控件大小 - c#

我有一个选项卡控件,该控件动态地填充有包含各种大小的用户控件的选项卡。打开选项卡后,我希望窗口自动调整大小,使其在活动用户控件下有意义。有一种干净的方法可以做到这一点吗?我正在使用标准的mvvm模式。 参考方案 在Window类上使用SizeToContent属性。<Window x:Class="WpfApplication1.MainWi…

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

改造正在返回一个空的响应主体 - java

我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…

每个文件合并后添加换行 - python

我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription...", "comment": ""} test.json{"name"…

LINQ to XML语法 - c#

我有一个简单的POCO类,用于保存从XML文件提取的数据,该XML文件定义如下:public class Demographics { public string FirstName { get; set; } public string LastName { get; set; } public string MiddleName { get; set; …