如何使用对象数据提供程序将数据集绑定到数据网格



我有另一个绑定问题。这次我想重建此处显示的大纲-细节网格:

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 类中。 希望这就是问题所在。

相关内容

  • 没有找到相关文章

最新更新