Tôi có một DataGrid Bộ công cụ WPF với 3 cột. Chỉ cột thứ ba cho phép nhập dữ liệu - hai cột đầu tiên là tĩnh (mô tả văn bản). Có thể điều khiển tabbing và điều hướng sao cho các tab và các nút lên-xuống-trái-phải sẽ bỏ qua hai cột đầu tiên và hoạt động trong giới hạn của các cột thứ ba?Bộ công cụ WPF Datagrid - Tab tùy chỉnh
Trả lời
Điều này có thể không trả lời đầy đủ câu hỏi của bạn, nhưng hy vọng nó sẽ giúp bạn bắt đầu. Tôi chạy vào một lỗi với DataFrid WPF Toolkit mà chèn một nhân vật rác khi sử dụng phím backspace để xóa nội dung của ô. Điều này dẫn tôi đến một bài viết CodePlex về lỗi, và các phương pháp ghi đè kết quả (tôi phân lớp cả lưới và cột) cho phép tôi bỏ qua vấn đề.
Đây là bài mà tôi đã bắt đầu: http://wpf.codeplex.com/WorkItem/View.aspx?WorkItemId=10246
Tôi cho rằng bạn có thể bẫy phím tab và chỉ vượt qua nó trên nếu người dùng là trong cột thứ ba?
Hy vọng điều này sẽ giúp - Tôi tương đối mới với WPF, vì vậy vẫn học được nội bộ.
Bạn có thể vô hiệu hóa tabbing trên hai cột đầu tiên với thuộc tính IsTabStop
. Rất tiếc, điều này không dễ truy cập như một số điều khiển WPF khác, do đó bạn phải đặt nó qua CellStyle
:
</dg:DataGridTextColumn>
<dg:DataGridTextColumn.CellStyle>
<Style TargetType="{x:Type dg:DataGridCell}">
<Setter Property="IsTabStop" Value="False" />
</Style>
</dg:DataGridTextColumn.CellStyle>
</dg:DataGridTextColumn>