Entradas populares

Menu và MenuItem trong XAML

Tìm hiểu tổng quan nào!                                                                                                                         Menu
Control Menu được kế thừa từ lớp HeaderedItemsControl, chứa các item theo chiều ngang và có background mặc định là màu xám. Thuộc tính để Menu trở thành menu chính là IsMainMenu. Có một điểm khá thú vị đối với Menu, hãy khám phá nó bằng cách mở một cửa sổ lên (ví dụ như Word) và nhấn phím F10 hoặc ALT nhé!
MenuItem
MenuItem cũng được kế thừa từ lớp HeaderedItemsControl. Thuộc tính Header của nó dùng để biểu diễn phụ đề của Menu. Những item của MenuItem chính là những menu con. Thuộc tính Icon góp phần diễn tả nội dung của item, được đặt bên trái của phụ đề.

Khám phá bên trong thôi!                                                                                                                      
Khám phá 1
Tạo Menu như sau

Dưới đây là ví dụ tạo menu File và Edit.

      a.      Hãy tạo các menu còn lại (View, Window, Help).
      b.      Nếu bỏ dòng tạo Menu ra (tức bỏ dòng 1 và 4 trong code trên) thì chuyện gì sẽ xảy ra?
      Khám phá 2

Vẫn tiếp tục với Khám phá 1, dưới đây là ví dụ tạo MenuItem Cut.


Sau khi debug và test chương trình, tôi tin chắc rằng các bạn sẽ thắc mắc một vài câu hỏi, để làm sáng tỏ hãy thực hiện những yêu cầu sau để nắm chắc kiến thức hơn nhé.
a.      Hãy thay đổi Command bằng nội dung bất kỳ (ví dụ Command = “xaml”) thì chuyện gì sẽ xảy ra?
b.      Qua file *.xaml.cs và gõ ApplicationCommands.Cut, hãy liệt kê một vài command khác trong lớp ApplicationCommands?

Lớp ApplicationCommands cung cấp các command có sẵn, khá quen thuộc với chúng ta như New, Open, Cut, Copy, Paste..., khi gán Command của MenuItem thì tên command đó phải có trong lớp dựng sẵn, khi thực thi nó sẽ tạo nhãn dán hotkey tương ứng. Ví dụ như Cut thì là Ctrl+X. Tuy nhiên, khi chạy code trên, chương trình không cho phép chọn MenuItem Cut. Để có thể thực thi ta cần tạo các handle tương ứng là CanExecute và Executed. Hãy xem ví dụ dưới đây.
File *.xaml

File *.xaml.cs

Lưu ý: hàm Cut_Excecuted chỉ được thực hiện khi giá trị CanExecute = true thôi.
Code trong 2 hàm trên chỉ ở dạng đơn giản, sau này khi viết ứng dụng nào đó, các bạn sẽ viết cụ thể hơn chắc năng của nó.

Hãy test thử khi click vào Cut và khi nhấn Ctrl+X, xem thử kết quả nhận được có giống nhau không nhé. Và cũng đừng quên tạo các MenuItem còn lại!
Khám phá 3
Để cho phép người dùng tick vào một item nào đó, ta truy cập đến thuộc tính IsCheckable của MenuItem và gán giá trị bằng True.
Để tạo Separators, chỉ cần thêm lệnh đơn giản <Separotor/>.

Dưới đây là ví dụ tạo New với Checkable + Separator + Open trong Menu File.

      a.      Hãy thêm thuộc tính Checkable = “True” vào MenuItem New và xem kết quả.
      b. Tạo các MenuItem còn lại như hình.
      
     Nguồn tham khảo:  www.wpftutorial.net www.wpf-tutorial.com

¡Compártelo!

0 nhận xét:

Đăng nhận xét

Buscar

 

About

Something in IT Copyright © 2011 | Tema diseñado por: compartidisimo | Con la tecnología de: Blogger