2010-03-25 1 views
0

Я использовал чудесный пример размещен по адресу:связать DataGrid WPF с DataTable

http://www.codeproject.com/KB/WPF/WPFDataGridExamples.aspx

связать DataGrid WPF с DataTable.

Исходный код ниже компилируется штрафом; он даже запускается и отображает содержимое DataWork datatable в WPat datagrid. Ура! Но страница WPF с datagrid не будет отображаться в дизайнере. Я получаю непонятную ошибку вместо этого на моей странице дизайна, которая показана в конце этой публикации. Я предполагаю, что у дизайнера возникли трудности с созданием экземпляра dataview для отображения в сетке. Как я могу это исправить?

XAML Код:

xmlns:local="clr-namespace:InfoSeeker" 

<Window.Resources> 
    <ObjectDataProvider 
     x:Key="InfoWorkData" 
     ObjectType="{x:Type local:InfoWorkData}" /> 
    <ObjectDataProvider 
     x:Key="InfoWork" 
     ObjectInstance="{StaticResource InfoWorkData}" 
     MethodName="GetInfoWork" /> 
</Window.Resources> 


<my:DataGrid 
    DataContext="{Binding Source={StaticResource InfoWork}}" 
    AutoGenerateColumns="True" 
    ItemsSource="{Binding}" 
    Name="dataGrid1" 
    xmlns:my="http://schemas.microsoft.com/wpf/2008/toolkit" /> 

C# Код:

namespace InfoSeeker 
{ 
    public class InfoWorkData 
    { 
     private InfoTableAdapters.InfoWorkTableAdapter infoAdapter; 
     private Info infoDS; 

     public InfoWorkData() 
     { 
      infoDS = new Info(); 
      infoAdapter = new InfoTableAdapters.InfoWorkTableAdapter(); 
      infoAdapter.Fill(infoDS.InfoWork); 
     } 
     public DataView GetInfoWork() 
     { 
      return infoDS.InfoWork.DefaultView; 
     } 
    } 
} 

Ошибка показано на месте страницы дизайнера, который имеет сетку на него:

необработанное исключение произошло:

Тип "MS.Internal.Permission s.UserInitiatedNavigationPermission 'в Assembly' PresentationFramework, Version = 3.0.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35 'не помечен как сериализуемый. на System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers (RuntimeType типа) в System.Runtime.Serialization.FormatterServices.GetSerializableMembers (Тип типа, StreamingContext контекст) на System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo() в System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize (Object OBJ, ISurrogateSelector surrogateSelector, StreamingContext контекст, SerObjectInfoInit serObjectInfoInit, IFormatterConverter конвертер, objectWriter objectWriter) ... в: Ms.Internal. Designer.DesignerPane.LoadDesignerView()

Редактировать: Отредактировано мое Visual Studio. По крайней мере, это дает мне лучшее сообщение об ошибке:

Запрос разрешения типа «System.Data.OleDb.OleDBPermission, system.Data, Version = 2.0.0.0, Culture = нейтрален, PublicKeyToken = b77a5c561934e089 ' не смогли.

ответ

2

Проект, который я разрабатывал, был на (корпоративном) сетевом диске. Если переместить проект на локальный диск C: ошибка исчезнет.

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

  • Нет связанных вопросов^_^