Hướng dẫn WPF cho người mới bắt đầu: Cách tạo ứng dụng [Ví dụ]
WPF là gì?
WPF là khuôn khổ để xây dựng Windows ứng dụng cho phép người dùng phát triển giao diện người dùng phong phú có hoạt ảnh 3D và màu sắc phong phú với độ phức tạp của mã ít hơn. Đây là công cụ kết xuất dựa trên vector sử dụng khả năng tăng tốc phần cứng của card đồ họa hiện đại, giúp Ul nhanh hơn và có khả năng mở rộng cao. WPF là viết tắt của Windows Về chúng tôi Foundation.
WPF có thể được coi là một sự phát triển vượt trội so với WinForms. Nó tạo ra hệ thống hiển thị đồ họa dễ vận hành cho Windows. Nó cung cấp sự phân tách dễ dàng giữa giao diện người dùng và logic nghiệp vụ.
Các ứng dụng WPF có thể được triển khai trong hệ thống của bạn dưới dạng một chương trình máy tính để bàn độc lập hoặc được lưu trữ dưới dạng đối tượng được nhúng trong trang web.
Tại sao lại là WPF?
Có nhiều lý do để sử dụng nền tảng WPF, một số lý do nổi bật là-
- Một nền tảng lý tưởng để sử dụng nếu bạn cần xử lý nhiều loại phương tiện khác nhau
- WPF cho phép bạn tạo giao diện người dùng có giao diện. Nó cũng giúp bạn khi bạn cần tải một phần giao diện người dùng hoặc muốn liên kết dữ liệu XML
- Nó cho phép bạn tận dụng lợi ích của thư viện lớp .NET lớn vì nó được xây dựng trên công nghệ .NET
- Độ phân giải độc lập, do đó các ứng dụng được phát triển bằng WMF có thể chạy trên thiết bị di động hoặc màn hình 20 inch
- WPF xây dựng trên DirectX thay vì WinAPI. Nó cung cấp hệ thống đồ họa của máy khách. Do đó, mang lại khả năng kết xuất đồ họa lớn hơn
- Hỗ trợ mô hình tài liệu luồng cho phép bố cục chất lượng "xuất bản trên máy tính để bàn"
- Ngoại hình và hành vi được kết hợp lỏng lẻo. Điều này cho phép các nhà thiết kế và nhà phát triển làm việc trên hai mô hình riêng biệt
- Trong khung WMF, bạn có thể thiết kế đồ họa các công cụ trên các tài liệu XML đơn giản thay vì phân tích mã
- Cho phép bạn sử dụng khả năng tăng tốc phần cứng để vẽ GUI, để có hiệu suất tốt hơn
Lịch sử của WPF
Windows 1.0 là môi trường GUI đầu tiên từ Microsoft. Nó hoạt động như một lớp trên DOS, dựa vào hệ thống GDI và USER cho giao diện đồ họa và người dùng.
DirectX được giới thiệu vào năm 1995 như một hệ thống đồ họa hiệu năng cao. Nó nhắm đến các trò chơi và các môi trường liên quan đến đồ họa khác. Trong những năm qua, có nhiều phiên bản được phát hành với Directx9 cung cấp thư viện để sử dụng với mã mange.Net.
Phiên bản WPF | Năm phát hành | Phiên bản .Net | Phiên bản Visual Studio | Tính năng |
---|---|---|---|---|
3.0 | 2006 | 3.0 | N/A | Phát hành lần đầu. Tuy nhiên, việc phát triển WPF có thể được thực hiện bằng VS 2005. |
3.5 | 2007 | 3.5 | Vs 2008 | Sửa đổi và cải tiến trong: Mô hình ứng dụng, liên kết, điều khiển, tài liệu, chú thích và phần tử 3-D Ul. |
3.5 SP1 | 2008 | 3.5 SP1 | N/A | Hỗ trợ màn hình giật gân gốc. Kiểm soát trình duyệt web mới, hỗ trợ đổ bóng pixel DirectX. |
4.0 | 2010 | 4.0 | Vs 2010 | Điều khiển mới: Lịch. DataGrid, DatePicker. Cảm ứng đa điểm và thao tác |
4.5 | 2012 | 4.5 | Vs 2012 | Thời gian thiết lập nhanh hơn và hiệu suất được cải thiện cho các hiệu ứng Bitmap. Điều khiển mới: Lịch. DataGrid, DatePicker. Cảm ứng đa điểm và thao tác |
4.5.1 | 2013 | 4.5.1 | Vs 2013 | Điều khiển Ribbon mới Giao diện INotifyDataErrorlnfo mới |
4.5.2 | 2014 | 4.5.2 | NA | Không có thay đổi lớn Không có thay đổi lớn |
4.6 | 2015 | 4.6 | Vs 2015 | Hỗ trợ cửa sổ con trong suốt Cải tiến HDPI và Touch |
Phiên bản ổn định mới nhất của WPF 5.0.6 được phát hành vào tháng 2021 năm XNUMX.
Tính năng của WPF
- Tài liệu và In ấn
- Bảo mật, khả năng truy cập và bản địa hóa
- Cung cấp khả năng tương tác với Windows Điều khiển biểu mẫu
- Direct3D được sử dụng trong các ứng dụng đồ họa trong đó hiệu suất là quan trọng
- Sử dụng phần cứng card màn hình để hiển thị
- Đồ họa dựa trên vector cho phép bạn mở rộng quy mô ứng dụng của mình mà không làm giảm chất lượng
- WPF hỗ trợ hệ thống pixel logic dấu phẩy động và màu ARGB 32 bit
- Xác định lại kiểu và mẫu điều khiển
- Xây dựng phông chữ quốc tế từ phông chữ tổng hợp
- Kết xuất văn bản WPF giúp bạn tận dụng công nghệ ClearType
- Cho phép bạn sử dụng kỹ thuật lưu vào bộ đệm của văn bản được kết xuất trước trong bộ nhớ video
- Phương pháp tiếp cận dựa trên tài nguyên cho mọi điều khiển
- Bộ tính giờ trình bày được khởi tạo và quản lý bởi WPF
- Mối quan hệ giữa video và hoạt hình cũng được hỗ trợ
- Trong WPF, kiểu là một tập hợp các thuộc tính sẽ được áp dụng cho nội dung được sử dụng để hiển thị trực quan
- Các mẫu trong WPF giúp bạn thay đổi Ul của tài liệu
- Các lệnh là phiên bản sự kiện trừu tượng hơn và lỏng lẻo hơn
- Hỗ trợ WPF cho các lệnh giúp giảm số lượng mã chúng ta cần viết
Tiếp theo trong WPF này hướng dẫn C#, chúng ta sẽ tìm hiểu về các loại lõi và cơ sở hạ tầng của WPF.
Các loại và cơ sở hạ tầng cốt lõi của WPF
Các lớp trong WPF được chia thành bốn loại khác nhau:
- UIElement
- Phần tử khung
- Phần tử nội dung
- Phần tử nội dung khung
Các lớp này được gọi là lớp phần tử cơ sở. Nó cung cấp nền tảng cho mô hình biên soạn giao diện người dùng.
Giao diện người dùng WPF bao gồm các phần tử được tập hợp theo cấu trúc phân cấp cây. Nó được gọi là cây phần tử. Cây phần tử là một cách trực quan để bố trí giao diện người dùng. Đó là một cấu trúc cho phép bạn có được tính năng của các dịch vụ giao diện người dùng mạnh mẽ.
XML
Ngôn ngữ đánh dấu ứng dụng mở rộng được gọi là “XAML” hoặc “zammel” là một cách khai báo để xác định giao diện người dùng.
Đây là định nghĩa XAML của một nút đơn giản:
<Button FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Center" > Say Hello Guru99</Button>
Ưu điểm của việc sử dụng ngôn ngữ XAML:
- XAML tách biệt giao diện front-end khỏi logic back-end
- XAML là phương pháp đơn giản nhất để thể hiện giao diện người dùng
- XAML hoạt động hiệu quả với các công cụ
Điều khiển
Khung WPF hỗ trợ nhiều điều khiển hữu ích như:
- Chỉnh sửa các điều khiển như Văn bảnBox, Kiểm traBox, Nút radio
- Danh sách điều khiển chẳng hạn như Danh sáchBox, Chế độ xem danh sách, Chế độ xem dạng cây
- Thông tin người dùng như Label, WPF ProgressBar, ToolTip
- Hành động như Menu, Nút và Thanh công cụ
- Các giao diện như Border, WPF Image và Viewbox
- Các hộp thoại phổ biến như OpenFileDialog và PrintDialog.
- Các vùng chứa như TabContro, ScrollBar và GroupBox
- Các bố cục như DocPanel, StackPanel và Grid
- Điều hướng như Khung và Siêu liên kết
Sự xuất hiện của các điều khiển có thể được tùy chỉnh theo kiểu và mẫu mà không cần lập trình. Bạn cũng có thể tạo điều khiển tùy chỉnh bằng cách tạo ra một lớp mới từ lớp cơ sở thích hợp.
Xuất hiện
WPF cung cấp một tính năng để tùy chỉnh giao diện ứng dụng của bạn. Nó cho phép bạn đặt đối tượng và giá trị cho những thứ như phông chữ, hình nền, v.v.
Tính năng kiểu dáng cho phép bạn chuẩn hóa một diện mạo cụ thể cho toàn bộ sản phẩm. Nó cho phép bạn thay thế giao diện mặc định trong khi vẫn giữ nguyên hành vi mặc định của nó.
Mẫu dữ liệu cho phép bạn kiểm soát việc hiển thị mặc định của dữ liệu được liên kết. Với sự trợ giúp của các chủ đề, bạn có thể dễ dàng hình dung các phong cách từ hệ điều hành.
Bố cục & Bảng điều khiển
Bố cục giúp bạn định vị và kiểm soát kích thước phù hợp. Nó là một phần của quá trình soạn bài thuyết trình cho người dùng. Khung WPF giúp giảm bớt quá trình bố cục và cung cấp khả năng thích ứng tốt hơn cho giao diện UI.
Cơ sở hạ tầng bố cục được cung cấp bởi nhiều lớp khác nhau là 1) StackPanel 2)DockPanel 3) WrapPanel 4) Grid và 5) Canvas
Đồ họa
WPF cung cấp một hệ thống đồ họa cải tiến như
- WPF sử dụng các đơn vị độc lập với thiết bị, cho phép độ phân giải và tính độc lập của thiết bị. Do đó, mỗi pixel không phụ thuộc vào thiết bị sẽ tự động chia tỷ lệ theo hệ thống cài đặt số điểm trên mỗi inch
- WPF sử dụng double thay vì float và hỗ trợ nhiều màu sắc hơn
- Công cụ đồ họa WPF được thiết kế theo cách có thể tận dụng phần cứng đồ họa khi có sẵn
Tài liệu và In ấn
Khung WPF cung cấp ba loại tài liệu:
- Tài liệu cố định: Loại tài liệu này hỗ trợ WYSIWBài thuyết trình của YG.
- Tài liệu dòng chảy: Cho phép bạn điều chỉnh và chỉnh lại nội dung dựa trên các biến thời gian chạy như kích thước cửa sổ và độ phân giải của thiết bị.
- Tài liệu XPS: Nó là sự thể hiện được phân trang của giấy điện tử ở định dạng dựa trên XML. XPS là một định dạng tài liệu mã nguồn mở và đa nền tảng.
WPF cho phép kiểm soát tốt hơn hệ thống in. Nó bao gồm in ấn và xếp hàng từ xa. Hơn nữa, tài liệu XPS có thể được in trực tiếp mà không cần chuyển đổi sang định dạng in.
WPF Archikiến trúc
WPF là một phần của .NET framework. Nó chứa cả mã được quản lý và không được quản lý. Các thành phần quan trọng của kiến trúc WPF được giải thích trong hình dưới đây:
Các thành phần của kiến trúc WPF
- PresentationFramework: Giúp bạn tạo các thành phần cấp cao nhất như Điều khiển, kiểu, bố cục, cửa sổ, v.v.
- PresentationCore: Nó chứa các loại cơ sở như UIElement, Visual từ tất cả các Điều khiển và hình dạng có nguồn gốc trong PresentFramework.dll.
- CLR: Nó làm cho quá trình phát triển trở nên hiệu quả bằng cách cung cấp các tính năng như quản lý bộ nhớ, xử lý lỗi, v.v.
- Milcore: Milcore là một phần của mã không được quản lý cung cấp khả năng tích hợp chặt chẽ với DirectX.
- DirectX: Đây là API cấp thấp cho phép hiển thị đồ họa của WPF. Cuộc trò chuyện DirectX tương tác với trình điều khiển và hiển thị nội dung.
- Người dùng32: Đây là API cốt lõi được nhiều chương trình sử dụng rộng rãi. Nó quản lý bộ nhớ và phân tách quá trình. User32 giúp bạn quyết định phần tử nào sẽ được đặt ở vị trí nào trên màn hình.
- hạt nhân: Đầu vào bắt nguồn dưới dạng tín hiệu trên trình điều khiển thiết bị chế độ kernel và được chuyển đến quy trình chính xác và bằng cách kết nối với Windows hạt nhân và User32.
Cài đặt WPF
Tham khảo liên kết này để cài đặt WPF https://www.guru99.com/download-install-visual-studio.html
Tiếp theo trong hướng dẫn ứng dụng WPF này, chúng ta sẽ xây dựng WPF đầu tiên của mình.
Làm cách nào để tạo ứng dụng WPF đầu tiên của bạn?
Trong ví dụ WPF này, chúng ta sẽ phát triển một ứng dụng WPF cơ bản. Vì vậy, hãy bắt đầu triển khai đơn giản bằng cách làm theo các bước được đưa ra trong các ví dụ ứng dụng WPF bên dưới.
Bước 1) Trong Visual Studio, hãy vào File > Project
Bước 2) Trong cửa sổ dự án mới
- Chọn ứng dụng WPF
- Nhập tên là “MyWPF”
- nhấn OK
Bước 3) Visual Studio tạo ra hai tập tin theo mặc định
- Tệp XAML (MainWindow.xaml)
- Tệp CS (MainWindow.xaml.cs)
MainWindow.xaml có
- Cửa sổ thiết kế
- Tệp XAML
Trong cửa sổ XAML, các thẻ sau được viết theo mặc định
Lưới là phần tử đầu tiên theo mặc định.
MainWindow.xaml.cs chứa mã tương ứng đằng sau tệp thiết kế XAML
Bước 4) Trong hộp công cụ,
- Kéo văn bảnBox phần tử vào cửa sổ thiết kế
- Một văn bảnBox sẽ xuất hiện trong cửa sổ thiết kế
- Bạn sẽ thấy mã XAML cho Văn bảnBox thêm
Bước 5) Thay đổi văn bản thành “Chương trình WPF đầu tiên”.
Bước 6) Nhấp vào nút Bắt đầu
Bước 7) Bạn sẽ thấy một cửa sổ ở đầu ra
Chúc mừng! Bạn đã thiết kế và tạo ứng dụng WPF đầu tiên của mình. Tiếp theo trong hướng dẫn WPF dành cho người mới bắt đầu này, chúng ta sẽ thấy sự khác biệt giữa WPF và WinForms.
WPF so với WinForms
WPF | WinForms |
---|---|
Đây là một framework mới hơn nên phù hợp hơn với các tiêu chuẩn hiện hành. | Nó cũ hơn nên được thử nghiệm nhiều hơn. |
Nó linh hoạt và giàu tính năng. Bạn có thể thiết kế các ứng dụng rất phong phú mà không cần mã hóa hoặc mua điều khiển. | Tính năng không phong phú |
Nhà phát triển của 3rd kiểm soát của đảng tập trung vào khả năng tương thích với WPF vì đó là tương lai. | Có nhiều quyền kiểm soát của bên thứ ba mà bạn có thể mua hoặc nhận miễn phí. |
XAML cho phép bạn tạo và chỉnh sửa GUI một cách dễ dàng. Nó cho phép phân chia công việc giữa nhà thiết kế (XAML) và lập trình viên (C#, ASP.net, v.v.). | In Windows Hình thành tất cả các mã được viết ở một nơi. |
WPF có thể tạo giao diện người dùng cho cả hai Windows các ứng dụng và ứng dụng web như Silverlight và XBAP. | Không có sự hỗ trợ như vậy |
Bộ điều khiển hộp thư đến của WPF bị hạn chế | Kiểm soát hộp thư đến rất mạnh mẽ |
Loại ứng dụng được xây dựng bằng WPF
- WPF đang cố gắng thay thế các biểu mẫu web và biểu mẫu cửa sổ – các ứng dụng có thể được xây dựng để chạy trong trình duyệt hoặc cửa sổ độc lập
- Windows Các biểu mẫu và trang WPF có thể cùng tồn tại trong cùng một ứng dụng
- Bạn có thể phát triển các ứng dụng trang/cửa sổ
Hướng dẫn nhanh
- Dạng đầy đủ của WPF là Windows Về chúng tôi Foundation
- Đây là một nền tảng lý tưởng để sử dụng nếu bạn cần xử lý nhiều loại phương tiện khác nhau
- Windows 1.0 là môi trường GUI đầu tiên từ Microsoft đang làm việc trên DOS và dựa vào hệ thống GDI và USER
- WPF trong .NET cung cấp khả năng tương tác với Windows Điều khiển biểu mẫu
- WPF được chia thành 4 loại khác nhau như UIElement, FrameworkElement ContentElement & FrameworkContentElement
- Các thành phần quan trọng nhất của một phần kiến trúc WPF là PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32 và Kernel
- WPF là một khuôn khổ mới hơn so với WinForms, vì vậy nó phù hợp hơn với các tiêu chuẩn hiện tại
- Windows Các biểu mẫu và trang WPF có thể cùng tồn tại trong cùng một ứng dụng