WPF三级联动

16 篇文章 5 订阅

WPF实现三级联动Grade-->Class-->Student,数据来自Access,采用LinqToAccess,已封装成DLL,数据库在附件中。
见图:

Code:
  1. <Window x:Class="Demo16_MasterDetailBinding2.MainWindow"  
  2.         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
  3.         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
  4.         xmlns:local="clr-namespace:Demo16_MasterDetailBinding2"  
  5.         xmlns:dl="clr-namespace:DataLibrary;assembly=DataLibrary"  
  6.         Title="MainWindow" Height="350" Width="525">  
  7.     <Window.Resources>  
  8.         <ObjectDataProvider x:Key="gradeList" IsAsynchronous="True"  
  9.                             ObjectType="{x:Type local:MainWindow}"    
  10.                             MethodName="LoadData"/>  
  11.     </Window.Resources>  
  12.     <Grid DataContext="{StaticResource gradeList}">  
  13.         <Grid.Resources>  
  14.             <Style TargetType="TextBlock">  
  15.                 <Setter Property="Margin" Value="5" />  
  16.             </Style>  
  17.             <Style TargetType="ListBox">  
  18.                 <Setter Property="Margin" Value="5" />  
  19.             </Style>  
  20.         </Grid.Resources>  
  21.         <Grid.ColumnDefinitions>  
  22.             <ColumnDefinition />  
  23.             <ColumnDefinition />  
  24.             <ColumnDefinition />  
  25.         </Grid.ColumnDefinitions>  
  26.         <Grid.RowDefinitions>  
  27.             <RowDefinition Height="Auto" />  
  28.             <RowDefinition />  
  29.         </Grid.RowDefinitions>  
  30.         <TextBlock Text="Grade" Grid.Row="0" Grid.Column="0" />  
  31.         <TextBlock Text="Class" Grid.Row="0" Grid.Column="1" />  
  32.         <TextBlock Text="Student" Grid.Row="0" Grid.Column="2" />  
  33.         <ListBox Grid.Row="1" Grid.Column="0" IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding}" DisplayMemberPath="GradeName" />  
  34.         <ListBox Grid.Row="1" Grid.Column="1" IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding Path=Class}" DisplayMemberPath="ClassName" />  
  35.         <ListBox Grid.Row="1" Grid.Column="2" IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding Path=Class/Student}" DisplayMemberPath="StudentName"/>  
  36.     </Grid>  
  37. </Window>  
Code:
  1. using System.Linq;   
  2. using System.Windows;   
  3. using DataLibrary;   
  4.   
  5. namespace Demo16_MasterDetailBinding2 {   
  6.     /// <summary>   
  7.     /// MainWindow.xaml 的交互逻辑   
  8.     /// </summary>   
  9.     public partial class MainWindow : Window {   
  10.         public MainWindow() {   
  11.             InitializeComponent();   
  12.         }   
  13.   
  14.         /// <summary>   
  15.         /// 加载数据,请注意使用public static   
  16.         /// </summary>   
  17.         public static IQueryable LoadData() {   
  18.             MySchoolDataContext dc = Linq2AccessFactory.GetMySchoolDataContext();   
  19.             var query = from g in dc.Grade   
  20.                         select g;   
  21.             return query;   
  22.         }   
  23.     }   
  24. }   

共享链接:http://download.csdn.net/detail/qing2005/4001862

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值