0
完整的错误是这样的:WPF ObjectDataProvider的错误“的路径无效”
的路径无效。检查数据库的目录。 [Path = C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ Externals
我在做以下操作。创建本地数据库。通过绑定连接到DataGrid我使用ObjectDataProvider能够根据this教程在设计器中编辑数据。我在Project树的顶层创建了一个名为“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>
然后在控制后,我将数据注入到数据网格:
<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,我不明白为什么程序试图访问这个路径。
什么是堆栈跟踪? – SLaks
StackTrace?该应用程序不会引发错误,因此我无法在堆栈跟踪中看到任何内容。 –
那么这是什么错误? – SLaks