Создание простого бизнес-приложения с использованием Visual Studio 2010, Silverlight 4.0 и Expression Blend
13.Теперь необходимо добавить два события элементу "DataGrid" и элементу "TextBox".
В "DataGrid" добавляем событие Loaded:
В "TextBox" событие TextChanged:
14.Откроем файл EmployeeListing.xaml.cs:
Содержание файла:
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.Windows.Navigation;
namespace SampleBusinessApplication.Views
{
public partial class EmployeeListing : Page
{
public EmployeeListing()
{
InitializeComponent();
}
// Executes when the user navigates to this page.
protected override void OnNavigatedTo(NavigationEventArgs e)
{
}
private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
}
private void empGrid_Loaded(object sender, RoutedEventArgs e)
{
}
}}15.Добавим пространство имен( namespace ) SampleBusinessApplication.Web.Services в файл EmployeeListing.xaml.cs с помощью фрагмента кода:
using SampleBusinessApplication.Web.Services
16.В событие "empGrid_Loaded" добавим строчки кода:
NwdDomainContext ctx = new NwdDomainContext();
empGrid.ItemsSource = ctx.Employees;
ctx.Load(ctx.GetEmployeesQuery());Где NwdDomainContext ctx = new NwdDomainContext() – объект сервиса, который мы создали ранее:
empGrid.ItemsSource = ctx.Employees – указываем источник, в нашим случае сотрудники.
ctx.Load(ctx.GetEmployeesQuery()); - загрузка данных с помощью метода сервиса GetEmployeesQuery():
Public Iqueryable<Employees> GetEmployees()
{
return this.ObjectContext.Employees;
}17.В событие TextBox_TextChanged добавим код:
NwdDomainContext nwr = new NwdDomainContext();
empGrid.ItemsSource = nwr.Employees;
nwr.Load(nwr.SelectCountryEmployeeQuery(CountryTextBox.Text));В данном фрагменте кода используется метод сервиса NwdDomainService – SelectCountryEmployee():
Public Iqueryable<Employees> SelectCountryEmployee(string text)
{
var query=from Employees in this. ObjectContext.Employees
where Employees.Country==text
select Employees;
return query;
}18.И, в заключении, запустим Silverlight приложение в браузере:
Перейдем на страницу Employee:
Введем в текстовое поле, к примеру, значение "USA". В результате отобразится те сотрудники, которые из страны США:






