Thông tin tài liệu:
Tham khảo tài liệu silverlight - chapter 7 - làm việc với dữ liệu trong silverlight, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Silverlight - Chapter 7 - Làm việc với dữ liệu trong Silverlight Infoway CHƯƠNG VII: LÀM VI C V I D LI U TRONG SILVERLIGHT SolutionsCHƯƠNG VII:LÀM VI C V I D LI U TRONG SILVERLIGHT1 Các công nghệ để truy cập dữ liệu trong SilverlightTrong các ứng dụng trên nền tảng Silverlight 2 có cho phép truy cập dữ liệu theo nhiều công nghệ hayphương thức khác nhau. Cách đơn giản nhất để hiển thị và tương tác người dùng là Data Binding.Cách khác nữa để truy cập dữ liệu từ ứng dụng máy khách, như là một sự thay thế tối ưu của cookie,chúng ta có thể sử dụng công nghệ Isolated Storage. Silverlight cũng cho phép đọc và ghi trên dữ liệuXML bằng cách sử dụng XmlReader hoặc LINQ to XML . Ngoài ra cách phổ biến trong các ứng dụnghiện nay thường làm đó là truy cập dữ liệu SQL Server thông qua các công nghệ Web service, WCF vàADO.Net Data Service.Trong chương này chúng ta sẽ tìm hiểu một số công nghệ để truy cập dữ liệu sau: - Data Binding - Isolated Storage - Xử lý dữ liệu XML với LINQ to XML - Truy cập cơ sở dữ liệu SQL Server với Web Service(WCF)2 Sử dụng Data BindingData Binding cung c p m t cách đơn gi m cho ng d ng n n t ng silverlight truy c p vàtương tác t i d li u. Thông thư ng Data Binding qu n lý d li u theo lu ng gi a ngư i dùngvà các đ i tư ng d li u. T c kà khi m t binding đư c t o và d li u có thay đ i, thì giao di nngư i dùng cũng đư c trình bày và thay đ i theo d li u(t đ ng ánh x ). Tương t khingư i dùng thay đ i trên giao di n thì nó cũng có th làm thay đ i đ i tư ng d li u. Ví dnhư khi ngư i dùng thay đ i giá tr trên m t TextBox, giá tr d li u cũng t đ ng c p nh ttheo thay đ i đó. Sự liên kết giữa giao diện người dùng và dữ liệu o - Binding Object: Như là m t xúc tác gi aBindingTarget và Binding Source - Binding Source: Ch a các thu c tính d li u, còn có th là đ i tư ng c a CLR - Binding Target: Là các thu c tính giao di u ngư i dùng đ có th hi n th ho c thay đ i t i d li u. Binding target có th là DependencyProperty c a FramworkElement Infoway CHƯƠNG VII: LÀM VI C V I D LI U TRONG SILVERLIGHT Solutions - Value Converter: Thành ph n tùy ch n đ áp d ng cho nh ng trư ng h p d li u c n phân tích ho c chuy n đ i - Đi u hư ng c a lu ng d li u: Quy t đ nh t i vi c tương tác d li u qua l i gi a Binding Source và Binding Target (xem chi ti t m c dư i)Ví d dư i đây s ch rõ cách trình bày thu c tính màu c a ch (ForeGround Color) c a m tTextBox:Mã XAML:Mã C# ://T o m t l p MyColors ñã th c thi giao ti p INotifyPropertyChanged.MyColors textcolor = new MyColors();// Brush1 thi t l p m t SolidColorBrush v i giá tr màu Red.textcolor.Brush1 = new SolidColorBrush(Colors.Red);// Thi t l p DataContext c a MyTextBox.MyTextBox.DataContext = textcolor;Khi s d ng DataContext trong mã C# trên đây, nó cho phép các th UI th a k thông tin vd li u ngu n. Ví d gi ng như trong ASP.NET b n s d ng phương thư c gán DataSouceđ hi n th d li u trên m t Grid. Các phương thức điều hướng của luồng dữ liệu oMỗi một kiểu binding data đều có một phương thức điều hướng luồng dữ liệu(Mode propery). Cái nàyquyểt định khi nào và làm thế nào để dữ liệu chảy tràn. Có 3 phương thức điều hướng luồng dữ liệusau - OneTime: binding dữ liệu tới target (giao diện người dùng) một lần và sau đó kết thúc kết nối không binding nữa. Phương thức này phù hợp khi hiển thị dữ liệu mà ít khi hoặc không bao giờ cần thay đổi. - OneWay: Binding dữ liệu tới target và giữ nó đến khi Source (nguồn dữ liệu) thay đổi thì target cũng thay đổi theo. Phương thức này phù hợp khi trình bày dữ liệu mà người dùng không được phép thay đổi - TwoWay: Binding dữ liệu tới target và giữ nó đến khi source thay đổi thì target cũng thay đổi theo, nhưng khi target thay đổi thì source cũng thay đổi theo. Phương thức này phù hợp khi trình bày dữ liệu mà cho phép người dùng thay đổi dữ liệu nguồn Change Notification oĐể cho hợp lệ với các thay đổi giá trị giữa Source object và Target objects thì chúng ta phải thực thimột interface là InotifyPropertyChanged. Trong InotifyPropertyChanged có cung cấp một eventPropertyChanged.Trong ví dụ dưới đây. Class MyColors thực thi giao tiếp InotifyPropertyChanged cho phương thứcOneWaynamespace DataBinding{ //Tao mot class thua ke interface INotifyPropertyChanged public class MyColors : INotifyPropertyChanged { private SolidColorBrush _Brush1; 2 Infoway CHƯƠNG VII: LÀM VI C V I D LI U TRONG SILVERLIGHT Solutions // Khai bao su kien PropertyChanged. public event ...