我还有另一个绑定问题。这次我想重建这里显示的主从网格:
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 { 公共部分类 MainWindow : Window { public MainWindow() { InitializeComponent();
}
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;
}
}
}
}
那么我做错了什么?