Professional Documents
Culture Documents
xây dựng phần mêm window
xây dựng phần mêm window
Windows Presentation
Foundation (WPF)
Giới thiệu
XAML
Data Binding
1. Giới thiệu
WPF (Windows Presentation Foundation ) là công
nghệ của Microsoft dùng để xây dựng các ứng dụng
trên Desktop.
1. Giới thiệu
WPF sử dụng ngôn ngữ XAML cho phép người lập
trình và người thiết kế giao diện làm việc cùng nhau
một cách dễ dàng.
Cung cấp một công nghệ chung để xây dựng giao diện
người dùng trên cả Windows và trình duyệt Web.
Ứng dụng WPF bao gồm giao diện là một tập các
trang XAML và phần code tương ứng được viết bằng
C# hoặc Visual Basic.
1. StackPanel:
Bố trí các phần tử con nằm trong nó bằng cách sắp
xếp chúng theo thứ tự trước sau. Các phần tử sẽ
xuất hiện theo thứ tự mà chúng được khai báo trong
file XAML theo chiều dọc (mặc định) hoặc theo
chiều ngang.
Xây dựng phần mềm Windows
Trường ĐH Công Nghệ Sài Gòn
KHOA CÔNG NGHỆ THÔNG TIN
9
2. WrapPanel:
Cho phép sắp xếp các phần tử con của nó từ trái sang
phải. Khi một dòng phần tử đã điền đầy khoảng không
gian cho phép theo chiều ngang, WrapPanel sẽ cuốn
phần tử tiếp theo xuống đầu dòng tiếp theo.
3. Grid:
Cho phép sắp xếp các phần tử con theo dòng và cột.
4. DockPanel:
Cho phép các phần tử con bám lên các cạnh của nó.
Nếu như có nhiều phần tử cùng bám về một cạnh,
chúng sẽ tuân theo thứ tự mà chúng được khai báo
trong file XAML.
5. Canvas:
Cho phép các phần tử con được sắp xếp theo vị trí
tuyệt đối là tọa độ góc trên bên trái (hay tọa độ góc
dưới bên phải).
Xây dựng phần mềm Windows
Trường ĐH Công Nghệ Sài Gòn
KHOA CÔNG NGHỆ THÔNG TIN
11
Thuộc tính Text: chứa nội dung hiển thị lên TextBlock Control.
Label
<Label Content="Ho ten:"></Label>
Thuộc tính Content: chứa nội dung hiển thị lên Label Control.
TextBox
<TextBox Name="txtHoten"></TextBox>
Button
<Button Name="btnTinhLuong"
Click="btnTinhLuong_Click"> </Button>
RadioButton
<RadioButton IsChecked="True"></RadioButton>
Thuộc tính IsChecked xác định giá trị của RadioButton Control.
CheckBox
GroupBox
ComboBox
<ComboBox Name="cmbLoaiNC"
SelectionChanged="cmbLoaiNC_SelectionChanged">
<ComboBoxItem Content="Khong tay nghe"/>
<ComboBoxItem Content="Co tay nghe"/>
<ComboBoxItem Content="Co tay nghe cao"/>
</ComboBox>
Sự kiện SelectionChanged của ComboBox Control.
ListView
Menu và MenuItem
Expender
Biểu diễn cửa sổ hiển thị nội dung có thể đóng/mở
Image
Biểu diễn hình ảnh
RichTextBox
ToolBar
StatusBar
5. Data Binding
5. Data Binding
5. Data Binding
5. Data Binding
Code XML
5. Data Binding
Code C#
Giao diện
5. Data Binding
Ví dụ 3: Liên kết ComboBox (giao diện) với Danh sách
môn học (dữ liệu nguồn).
Code XML
Code C#
Giao diện
Giao diện
của phép
toán sửa
Linq to Object
Linq to Entities
1. Linq to Object
1. Linq to Object
1. Linq to Object
• Chứa dữ liệu nguồn: là dữ liệu được dẫn
xuất từ interface IEnumerable<T>
• Tạo câu lệnh truy vấn: Cú pháp tạo câu
lệnh truy vấn LINQ
from …where …select …
• Thực thi câu lệnh truy vấn: sử dụng từ
khóa var để khai báo biến chứa kết quả
trả về của câu lệnh truy vấn.
1. Linq to Object
Ví dụ:
//chứa dữ liệu nguồn
int[] ds = new int[]{26,31,17,22,45,68,79};
//tạo câu lệnh truy vấn
var kq = from a in ds
where a % 2 == 0
select a;
//thực thi câu lệnh truy vấn
foreach (int a in kq) {
Console.Write("{0} ", a);
}
1. Linq to Object
1. Linq to Object
Ví dụ:
//chứa dữ liệu nguồn
int[] ds = new int[]{26,31,17,22,45,68,79};
//tạo câu lệnh truy vấn
IEnumerable<int> kq =
ds.Where<int>(x => x % 2 == 0);
//thực thi câu lệnh truy vấn
foreach (int a in kq){
Console.Write("{0} ", a);
}
1. Linq to Object
Khi chúng ta thao tác trên các lớp đối tượng tương ứng
với việc thao tác trên CSDL.
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
Ví dụ:
PM> Scaffold-DbContext
"Server=.\SQLExpress;Database=qlhv;Trusted_Connection=True;"
Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
3. Linq to Entities
3. Linq to Entities
Lớp DBSet: ánh xạ bảng dữ liệu trong CSDL với tập
đối tượng trong chương trình.
• Thư viện: System.Data.Entity
• Các phương thức:
object Add (object entity): thêm đối tượng
vào tập đối tượng.
object Find (params object[] keyValues):
Tìm đối tượng trong tập đối tượng dựa vào khóa.
object Remove (object entity): Xóa đối tượng
trong tập đối tượng.
3. Linq to Entities
Ví dụ: qlhvContext dc = new qlhvContext();
Ghi thông tin của đối tượng môn học mh vào CSDL.
3. Linq to Entities
Truy vấn đối tượng: Trả về danh sách môn học có tên
môn học chứa giá trị tenmh.
• Câu lệnh truy vấn Linq:
var kq = from x in dc.Monhocs
where x.Tenmh.Contains(tenmh)
select x;
• Phương thức Linq:
var kq = dc.Monhocs
.Where(x => x.Tenmh.Contains(tenmh))
.ToList();
3. Linq to Entities
Mệnh đề group…by: Trả về số học sinh đã đăng ký cho
từng môn học.
• Câu lệnh truy vấn Linq:
Thuộc tính Route xác định đường dẫn URL bắt đầu
cho Controller.
Ít nhất phải có một mẫu định tuyến được thêm vào bảng
định tuyến để xử lý các HTTP Request khác nhau.
Resource
Mẫu MVVM
1. Resource
Cung cấp khả năng lưu trữ dữ liệu dưới dạng tài nguyên
Cục bộ cho một điều khiển
Có tên loaiNC và giá trị là mảng gồm các phần tử “Không có tay
nghề”, “Có tay nghề” và “Có tay nghề cao”.
1. Resource
Binding đối tượng môn học với Grid thông qua thuộc tính
DataContext và Binding các thuộc tính của đối tượng
môn học với thuộc tính Text của các TextBox tương ứng
2. Các thành phần chính của lệnh: lệnh, nguồn lệnh, đích
lệnh, và liên kết lệnh.
– Lệnh là hành động được thực hiện
– Nguồn lệnh là đối tượng phát động lệnh
– Đích lệnh là đối tượng mà lệnh tác động lên
– Liên kết lệnh là liên kết lệnh với các thành phần thực
thi lệnh đó.
Xây dựng phần mềm Windows
Trường ĐH Công Nghệ Sài Gòn
KHOA CÔNG NGHỆ THÔNG TIN
119