Tôi có trích đoạn XAML sau:Làm thế nào để ngăn chặn TextBlock từ việc lấy nét tự động
<SplitView Name="Menu" DisplayMode="CompactOverlay" OpenPaneLength="200" CompactPaneLength="0" Grid.RowSpan="2">
<SplitView.Pane>
<StackPanel>
<AutoSuggestBox Margin="0,20,0,20" Width="170" PlaceholderText="Search" QueryIcon="Find"></AutoSuggestBox>
<ListBox>
<ListBoxItem Tapped="Projects_Tapped">
<StackPanel Orientation="Horizontal">
<SymbolIcon Symbol="Library" />
<TextBlock Margin="10,0,0,0">Projects</TextBlock>
</StackPanel>
</ListBoxItem>
[....]
</ListBox>
</StackPanel>
</SplitView.Pane>
</SplitView>
Về cơ bản, splitview này là đầm cho đến khi người dùng nhấn một nút mà sau đó đặt IsPaneOpen
true, do đó cho thấy tôi menu ứng dụng.
Vấn đề là, điều đầu tiên tôi có trong menu là hộp tìm kiếm và dường như nó được tập trung tự động bất kể tôi làm gì. Thực tế là nó đã tập trung sau đó đưa lên bàn phím cảm ứng trên điện thoại, đó là rất khó chịu và giấu hầu hết các menu trên điện thoại nhỏ.
Tôi đã cố gắng chơi với thuộc tính TabIndex
để cung cấp cho nó một số lượng lớn hoặc thậm chí đặt chỉ mục thấp hơn cho một thứ khác.
Tôi cũng đã thử đặt IsTabStop
thành sai nhưng điều đó dường như không làm gì cả.
Có cách nào gọn gàng để ngăn hộp lấy nét tự động không? (Bên cạnh việc vô hiệu hóa/ẩn các yếu tố và sau đó cho phép/cho thấy nó một lần nữa)
Trong khi giải pháp này đã làm việc cho tôi, tôi thích câu trả lời của Elvis vì tôi cảm thấy nó sạch sẽ hơn. Tôi đã cố gắng tránh mã C# hoàn toàn .. –