Tôi gặp sự cố khi tôi có DataGridColumnHeader đang nhận văn bản có dấu gạch dưới là nội dung và dấu gạch dưới đầu tiên bị ẩn trừ khi bạn nhấn alt ("data_grid_thing" hiển thị dưới dạng 'datagrid_thing " Tôi tìm kiếm xung quanh một chút, và tìm thấy một số giải pháp cho vấn đề này cho Nhãn, vì nếu bạn bật RecognizesAccessKey thành false, thì văn bản sẽ không được coi là 'AccessText' (tuy nhiên điều này không làm việc cho DataGridColumnHeader, như nó loại bỏ tất cả các phong cách khác, và vì vậy thay vì một tiêu đề với văn bản bên trong của nó, tôi chỉ nhận được khoảng trắng với văn bản. Tôi đã thử sử dụng thuộc tính BasedOn cũng như không có hiệu lực. C# side (sửa đổi thuộc tính RecognizesAccessKey bằng cách nào đó findi ng the ContentPresenter có lẽ), hoặc thông qua sửa đổi XAML (tìm ra cách để bảo tồn kiểu mặc định).Dấu gạch dưới đầu tiên trong một DataGridColumnHeader bị xóa
My XAML trông giống như sau:
<Style x:Key="DataGridColumnHeaderStyle" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}" TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridColumnHeader">
<Border>
<ContentPresenter
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
RecognizesAccessKey="False" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Cảm ơn!
Ah Tôi quên liên kết này: http://stackoverflow.com/questions/40733/disable-wpf-label-accelerator-key-text-underscore-is-missing Đây là điều gần nhất với giải pháp Tôi có thể tìm thấy, khắc phục vấn đề ban đầu, nhưng gây ra vấn đề về kiểu dáng mà tôi đã đề cập ở trên. – Stuart
Không thể thực sự tái tạo điều này, dường như không thực hiện chuyển đổi văn bản truy cập trong một DataGrid chưa sửa đổi cho tôi ... –
bản sao có thể có của [hộp danh sách WPF. Bỏ qua các ký hiệu gạch dưới trong chuỗi] (http://stackoverflow.com/questions/4601801/wpf-listbox-skip-underscore-symbols-in-strings) – phoog