完整的错误如下:
路径无效。检查数据库的目录。[ 路径 = C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Externals
我正在执行以下操作。创建本地数据库。要通过绑定到 DataGrid 将其连接,我使用 ObjectDataProvider 能够根据本教程在设计器中编辑数据。我在顶层创建了一个名为“Externals”的文件夹项目树。那里驻留 database.sdf 和 dataSet.xsd 文件。现在,我有一个 UserControl,我在其中执行此操作:
<UserControl xmlns:local="clr-namespace:TypeAppRelease.Sasmaster.Data"
x:Class="TypeAppRelease.controls.AdminPageControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="700" d:DesignWidth="900" >
<UserControl.Resources>
<ObjectDataProvider x:Key="AlphaBetProvider" ObjectType="{x:Type local:AlphaBetDataProvider}" />
<ObjectDataProvider x:Key="AlphaBet" ObjectInstance="{StaticResource AlphaBetProvider}" MethodName="GetAlphaBet" />
</UserControl.Resources>
然后稍后在控件中,我将数据注入 DataGrid:
<Grid Background="#FFE5E5E5" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Height="111" DataContext="{Binding Source={StaticResource AlphaBet}}">
<DataGrid Name="grdEmployee" ItemsSource="{Binding}"/>
</Grid>
最后我有自定义适配器类:
namespace TypeAppRelease.Sasmaster.Data
{
class AlphaBetDataProvider
{
AlphaBetErrorTableTableAdapter adapter;
_MyDatabase_1DataSet dataset;
public AlphaBetDataProvider()
{
adapter = new AlphaBetErrorTableTableAdapter();
dataset = new _MyDatabase_1DataSet();
adapter.Fill(dataset.AlphaBetErrorTable);
}
public DataView GetAlphaBet()
{
return dataset.AlphaBetErrorTable.DefaultView;
}
}
}
不知何故,在收到此行的错误时:
<ObjectDataProvider x:Key="AlphaBetProvider" ObjectType="{x:Type local:AlphaBetDataProvider}" />
该项目编译并运行,显示 datagrid 中的数据,但我无法像教程中所做的那样编辑 DatGrid,我不明白为什么程序试图访问该路径。