1创建silverlight应用程序
2 在解决方案右击属性添加新项 添加 linq to sql
3 把数据库中的表复制到linq to sql类中(注意:以下截图中红色方框需要自己修改)
4 为项目添加 wcf服务
5为wcf服务类文件中添加显示数据的函数其代码如下:
using System;using System.Linq;using System.Runtime.Serialization;using System.ServiceModel;using System.ServiceModel.Activation;using StuEntity;using StuContent;using System.Collections.Generic;using System.Text;namespace SilverlightApplicationTest.Web{ [ServiceContract(Namespace = "")] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class ServiceStuInfo { [OperationContract] public void DoWork() { // 在此处添加操作实现 return; } [OperationContract] public ListGetAllMsg() { StuTestDataContext stuTest = new StuTestDataContext(); var result = from info in stuTest.StuMsg select info; return result.ToList (); } // 在此处添加更多操作并使用 [OperationContract] 标记它们 }}
6 为mainpage.xaml布局datagrid控件 button按钮
7 项目添加服务引用和添加System.Data.Services.Client
8 mainpage.xaml后台代码如下:
using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;using System.Data.Services.Client;using SilverlightApplicationTest.StuServiceReference;namespace SilverlightApplicationTest{ public partial class MainPage : UserControl { public MainPage() { InitializeComponent(); this.btnGet.Click += new RoutedEventHandler(btnGet_Click); } private void btnGet_Click(object sender, RoutedEventArgs e) { ServiceStuInfoClient stu = new ServiceStuInfoClient(); stu.GetAllMsgAsync(); stu.GetAllMsgCompleted += new EventHandler(stu_GetAllMsgCompleted); } private void stu_GetAllMsgCompleted(object sender, GetAllMsgCompletedEventArgs e) { dgrid.ItemsSource = e.Result; } }}
9 按F5调试运行