我有另一个绑定问题。这次我想重建此处显示的大纲-细节网格:
http://www.codeproject.com/Articles/30905/WPF-DataGrid-Practical-Examples#masterdetail
但是我得到这个错误:命名空间"clr-namespace:WpfApplicationDataSetTest"中不存在名称"AirplaneDataProvider"
这是我的代码
XAML:
<Window x:Class="WpfApplicationDataSetTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplicationDataSetTest"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<ObjectDataProvider x:Key="AirplaneDataProvider" ObjectType="{x:Type local:AirplaneDataProvider}"/>
<ObjectDataProvider x:Key="Airplanes" ObjectInstance="{StaticResource AirplaneDataProvider}" MethodName="GetAirplanes" />
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<DataGrid Name="DGMaster" Grid.Row="0" ItemsSource="{Binding Source={StaticResource Airplanes}}" SelectedValuePath="AirplaneID">
</DataGrid>
</Grid>
C#:
命名空间 WpfApplicationDataSetTest{ 公共分部类 主窗口 : 窗口 { 公共主窗口() { 初始化组件();
}
public class AirplaneDataProvider
{
private AirplaneTestDataSetTableAdapters.AirplaneTableAdapter AirTA;
private AirplaneTestDataSet AirTDS;
public AirplaneDataProvider()
{
AirTDS = new AirplaneTestDataSet();
AirTA = new AirplaneTestDataSetTableAdapters.AirplaneTableAdapter();
AirTA.Fill(AirTDS.Airplane);
}
public DataView GetAirplanes()
{
return AirTDS.Airplane.DefaultView;
}
}
}
}
那我做错了什么呢?
将 AirplaneDataProvider 类放入单独的文件中。
现在你把它放在 MainWindow 类中。 希望这就是问题所在。