为什么我的WPF DataGrid只读?

时间:2015-08-25 13:53:34

标签: c# wpf datagrid

我创建了一个带有选项卡控件的WPF桌面项目。每个选项卡上都有多个DataGrid控件。我希望能够编辑其中一些并添加新行,但所有这些行都是只读的。我检查过,数据网格IsReadOnly属性为false,但所有列都是' IsReadOnly属性为true。我尝试设置列'程序暂停时,IsReadOnly属性在调试模式下为false,但它们保持设置为true。我怀疑数据绑定中的某些内容是强制列只读,但我不知道是什么。我绑定到Entity Framework 6.0对象。我使用相同的数据对象创建了一个带有DataGrid的新测试项目,并且可以编辑DataGrid。我不明白有什么不同。这里涉及很多代码,我不确定在这里发布哪些内容会有所帮助。有谁知道为什么项目中没有DataGrids无法编辑?

编辑:这里有一些app.config文件。 .NET Framework设置为4.5



  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

我想我找到了这个问题的答案。下面是我的数据绑定。我在select子句中创建一个匿名对象。显然,DataGrid不知道如何编辑它。如果我将其更改为.Select(o =&gt; o)则可编辑。我想我可以为我想要编辑的记录定义一些对象,或者只使用EF类对象。

var oQuery = oContext.EntityOwners
.Where(o => o.EntityEIN == sEIN)
.Select(o => new { Delete = "Delete", OwnerEIN = o.OwnerEIN, X_pound_X_Shares = o.Shares, _EIN = o.OwnerEIN });