Tôi muốn hiển thị một lựa chọn trong một Hộp văn bản WPF ngay cả khi nó không được lấy nét. Tôi có thể làm cái này như thế nào?Làm thế nào để giữ cho WPF TextBox lựa chọn khi không tập trung?
Trả lời
Tôi đã sử dụng giải pháp này cho RichTextBox, nhưng tôi cho rằng nó cũng sẽ hoạt động đối với hộp văn bản chuẩn. Về cơ bản, bạn cần phải xử lý sự kiện LostFocus và đánh dấu nó là xử lý.
protected void MyTextBox_LostFocus(object sender, RoutedEventArgs e)
{
// When the RichTextBox loses focus the user can no longer see the selection.
// This is a hack to make the RichTextBox think it did not lose focus.
e.Handled = true;
}
Hộp văn bản sẽ không nhận ra nó bị mất tiêu điểm và vẫn hiển thị lựa chọn được đánh dấu.
Tôi không sử dụng ràng buộc dữ liệu trong trường hợp này, vì vậy có thể điều này sẽ làm hỏng liên kết hai chiều. Bạn có thể buộc phải ràng buộc trong trình xử lý sự kiện LostFocus của bạn. Một cái gì đó như thế này:
Binding binding = BindingOperations.GetBinding(this, TextProperty);
if (binding.UpdateSourceTrigger == UpdateSourceTrigger.Default ||
binding.UpdateSourceTrigger == UpdateSourceTrigger.LostFocus)
{
BindingOperations.GetBindingExpression(this, TextProperty).UpdateSource();
}
Một tùy chọn khác là xác định phạm vi tiêu điểm riêng trong XAML để duy trì lựa chọn trong Hộp văn bản đầu tiên.
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBox Grid.Row="0" Text="Text that does not loose selection."/>
<StackPanel Grid.Row="1" FocusManager.IsFocusScope="True">
<TextBox Text="Some more text here." />
<Button Content="Run" />
<Button Content="Review" />
</StackPanel>
</Grid>
public class CustomRichTextBox : RichTextBox
{
protected override void OnLostFocus(RoutedEventArgs e)
{
}
}
tôi thấy rằng những đề nghị niêm yết (thêm một handler LostFocus, việc xác định một FocusScope) để không làm việc, nhưng tôi đã đi qua mã liệt kê ở đây: http://naracea.com/2011/06/26/selection-highlight-and-focus-on-wpf-textbox/, mà tạo ra một adorner tùy chỉnh làm nổi bật văn bản khi không tập trung.
- 1. ListBoxItem lựa chọn trên TextBox tập trung
- 2. Set tập trung vào textbox trong WPF
- 3. mở WPF Popup trên TextBox tập trung
- 4. WPF - màu không tập trung được lựa chọn của ListViewItem với GridView
- 5. WPF Làm thế nào để tập trung các Image.Source
- 6. Chọn ListBoxItem nếu TextBox trong ItemTemplate được tập trung
- 7. Đặt ListBoxItem.IsSelected khi TextBox con được tập trung
- 8. Tập trung vào TextBox khi UserControl thay đổi Hiển thị
- 9. Làm thế nào để giữ tập trung sau khi 'alt' được nhấn? (Ứng dụng Adobe AIR)
- 10. Làm thế nào để ngăn chặn một hình thức WPF mới từ ăn cắp tập trung?
- 11. Trường tập trung WPF MVVM trên tải
- 12. Làm cách nào để làm cho cột dữ liệu WPF không tập trung được?
- 13. jQuery UI Dialog + ASP.NET textbox + tập trung
- 14. Tạo một "phím nóng" để tập trung một TextBox trong WPF
- 15. Lựa chọn thay đổi màu sắc khi Firefox mất tập trung
- 16. Làm thế nào để thiết lập một màu sắc danh sách lựa chọn WPF?
- 17. Làm thế nào để làm cho một TextBox thông qua WPF ApplicationCommands?
- 18. Làm thế nào để giữ lại hoặc animate subview nền màu trong UITableViewCell về lựa chọn?
- 19. Ghi nhật ký mạng tập trung - syslog và các lựa chọn thay thế?
- 20. Làm thế nào để cho phép nhiều đầu vào khi nhiều nút được lựa chọn
- 21. WPF DataGrid: Làm thế nào để xóa lựa chọn theo chương trình?
- 22. Android - thiết lập tập trung vào EditText sau khi lựa chọn Spinner
- 23. làm thế nào để làm cho một DIV không tập trung?
- 24. làm cách nào để đánh dấu/chọn văn bản trong hộp văn bản wpf mà không tập trung?
- 25. Làm thế nào để làm cho một phần tử HTML không thể tập trung?
- 26. WPF Toolkit Datagrid - làm thế nào để bạn tắt lựa chọn?
- 27. Làm thế nào để đạt được tập trung-thiết lập lại để cập nhật BindingSource của TextBox trước khi bất kỳ hành động
- 28. WPF XAML: Làm thế nào để vô hiệu hóa đa lựa chọn trong một DataGrid?
- 29. Hiểu thuật toán lựa chọn trung bình?
- 30. WPF: làm thế nào để làm cho ComboBoxItems giữ nguyên trong XAML
Điều này đã hiệu quả! Cảm ơn! –
+1 Giải pháp tuyệt vời - đã giúp tôi tạo tính năng tìm kiếm ... Thx – reSPAWNed
Điều này chủ yếu là hoạt động, nhưng ngắt cuộn trên RichTextBoxes không tập trung với các lựa chọn trong đó - vùng chọn không di chuyển với văn bản. – Cameron