TOC

This article is currently in the process of being translated into Vietnamese (~97% done).

Control concepts:

Access Keys

Khái niệm Khóa truy cập, đôi khi được gọi là Khóa tăng tốc hoặc Trình tăng tốc bàn phím, cho phép bạn đạt được một điều khiển cụ thể bên trong cửa sổ bằng cách nhấn và giữ phím Alt và sau đó nhấn một phím khác trên bàn phím. Điều này giúp tăng cường khả năng sử dụng các cửa sổ của bạn, bởi vì nó cho phép người dùng sử dụng bàn phím của họ để điều hướng cửa sổ, thay vì phải sử dụng chuột.

Xác định khóa truy cập

Xác định các khóa truy cập cho điều khiển WPF của bạn rất dễ dàng, nhưng phương pháp có thể làm bạn ngạc nhiên một chút. Thông thường, sẽ có một thuộc tính cho việc này, nhưng không phải cho Khóa truy cập. Thay vào đó, bạn xác định Khóa truy cập bằng cách thêm tiền tố vào chữ cái có dấu gạch dưới trong thuộc tính Văn bản/Nội dung của điều khiển. Ví dụ, như thế này:

<Button Content="_New"></Button>

Lưu ý dấu gạch dưới (_) ngay trước ký tự N - điều này sẽ biến phím N thành Khóa truy cập được chỉ định cho điều khiển Nút này. Theo mặc định, giao diện của (các) điều khiển của bạn không thay đổi, như bạn có thể thấy từ ví dụ này nơi tôi đã xác định Khóa truy cập cho tất cả các nút:

Tuy nhiên, ngay khi bạn nhấn phím Alt trên Bàn phím, các Phím truy cập khả dụng sẽ được tô sáng bằng cách gạch chân chúng:

Khi giữ phím Alt , giờ đây bạn có thể nhấn một trong các Phím truy cập (ví dụ: N, O hoặc S) để kích hoạt nút cụ thể. Nó sẽ phản ứng như thể nó được nhấp bằng chuột.

Khóa truy cập rất tốt cho các thành phần đơn lẻ trong hộp thoại/cửa sổ, nhưng chúng thậm chí còn hữu ích hơn trong trình đơn của windows truyền thống, nơi bạn thường sẽ cần phải nhấp theo cách phân cấp các mục trình đơn trước khi tiếp cận mục bạn cần. Đây là một ví dụ từ Visual Studio:

Trong trường hợp này, thay vì phải điều hướng qua trình đơn bằng nhiều lần di chuyển và nhấp chuột khi tôi muốn bắt đầu Dự án mới, tôi có thể giữ phím Alt rồi nhấn F (cho Tập tin), sau đó N (cho Mới) và sau đó P (cho Dự án ). Chắc chắn, điều này cũng có thể được thực hiện bằng phím tắt thông thường (Ctrl + Shift + N), nhưng phím tắt đó không hiển thị cho đến khi bạn đạt đến cấp độ cuối cùng của phân cấp trình đơn, vì vậy trừ khi bạn đã ghi nhớ rồi, nó có thể dễ dàng hơn để sử dụng Khóa truy cập, vì chúng được tô sáng trực quan ngay khi bạn nhấn phím Alt.

Những ký tự nào) nên được sử dụng làm Khóa truy cập?

Bạn có thể bị cám dỗ chỉ sử dụng bất kỳ ký tự nào được tìm thấy trong văn bản/nội dung điều khiển, nhưng thực sự có những hướng dẫn để chọn đúng ký tự. Tất nhiên, quy tắc quan trọng nhất là chọn một ký tự chưa được sử dụng bởi một điều khiển khác, nhưng ngoài ra, bạn nên sử dụng các nguyên tắc sau:

  • Sử dụng ký tự đầu tiên của từ đầu tiên
  • Nếu điều đó là không thể, hãy sử dụng ký tự đầu tiên của từ thứ hai hoặc thứ ba (ví dụ: A trong Save As)
  • Nếu điều đó là không thể, hãy sử dụng ký tự thứ hai của từ đầu tiên (ví dụ: P trong Open)
  • Nếu điều đó là không thể, hãy sử dụng ký tự thứ hai của từ thứ hai hoặc thứ ba (ví dụ: l trong Save All)
  • Nói chung, bạn có thể muốn tránh các ký tự hẹp như i l và tìm các ký tự rộng hơn như m , s , w v.v.

Nối hai điều khiển lại với nhau

Trong các ví dụ chúng ta đã thấy cho đến nay, chúng ta có thể xác định Khóa truy cập trực tiếp trên điều khiển mà chúng ta muốn tiếp cận. Nhưng có ít nhất một ví dụ trong đó điều này không thể trực tiếp: Khi bạn có kiểm soát đầu vào, ví dụ: một TextBox, văn bản cho biết mục đích của nó không tồn tại trong điều khiển TextBox thực tế. Thay vào đó, bạn thường sẽ sử dụng điều khiển thứ hai để chỉ ra, với văn bản, mục đích của điều khiển TextBox. Điều này thường sẽ là một điều khiển Label.

Vì vậy, trong ví dụ này, điều khiển Label sau sẽ giữ mô tả văn bản và do đó cũng là Access Key, nhưng điều khiển bạn muốn chú ý sẽ là điều khiển TextBox. Không có vấn đề gì - chúng ta có thể sử dụng thuộc tính Target của Label để liên kết nó với TextBox (hoặc bất kỳ điều khiển nào khác), như sau:

<StackPanel Margin="20">
    <Label Content="_First name:" Target="{Binding ElementName=txtFirstName}" />
    <TextBox Name="txtFirstName" />
    <Label Content="_Last name:" Target="{Binding ElementName=txtLastName}" />
    <TextBox Name="txtLastName" />
    <Button Content="_Save" Margin="20"></Button>
</StackPanel>

Lưu ý cách Access Key được chỉ định cho các điều khiển Label và sau đó được gắn với điều khiển TextBox có liên quan bằng cách sử dụng thuộc tính Target, nơi chúng tôi sử dụng Binding dựa trên ElementName để thực hiện công việc thực tế. Bây giờ chúng ta có thể truy cập hai điều khiển TextBox bằng Alt + F và Alt + L và Button với Alt + S. Đây là vẻ ngoài của nó:

Summary

Bằng cách sử dụng Access Keys trong windows/dialogs của bạn, bạn sẽ giúp mọi người điều hướng dễ dàng hơn bằng cách chỉ sử dụng bàn phím của họ. Điều này đặc biệt phổ biến đối với những power-users, những người sẽ sử dụng bàn phím có lợi cho chuột càng nhiều càng tốt. Bạn phải luôn luôn sử dụng Access Keys, đặc biệt là cho các menu của bạn.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!