2015-08-25 6 views
0

Я создал рабочий стол WPF с элементом управления вкладкой. На каждой вкладке находятся несколько элементов управления DataGrid. Я хочу иметь возможность редактировать некоторые из них и добавлять новые строки, но все они доступны только для чтения. Я проверил и свойство IsReadOnly datagrid было ложным, но все свойства IsReadOnly в столбцах истинны. Я попытался установить для столбцов свойства IsReadOnly значение false в режиме отладки, пока программа приостановлена, но они остаются установленными в true. Я подозреваю, что что-то в привязке данных заставляет столбцы читать только для чтения, но я не знаю, что. Я привязываюсь к объектам Entity Framework 6.0. Я создал новый тестовый проект с DataGrid, используя те же объекты данных и что DataGrid можно редактировать. Я не понимаю, что другое. Там много кода, и я не уверен, что делать здесь, что было бы полезно. Кто-нибудь есть идея, почему ни один из DataGrids в проекте не может быть отредактирован?Почему мой WPF DataGrid ReadOnly?

Редактировать: Вот некоторые из файлов 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>

+1

вы можете показать свои привязок? – thumbmunkeys

+0

Пожалуйста, покажите нам какой-нибудь код. – BendEg

+0

Ниже приведен код с моим предложенным ответом. Спасибо, что пытались помочь. –

ответ

0

Я думаю, что я нашел ответ на эту проблему. Ниже приведена привязка данных. Я создаю анонимный объект в предложении select. По-видимому, DataGrid не знает, как это изменить. Если я изменил его на. Выберите (o => 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 });

Смежные вопросы