我遇到了一個問題,我有一個DataGridColumnHeader以下劃線作爲內容接收文本,第一個下劃線是隱藏的,除非按下alt(「data_grid_thing」顯示爲'datagrid_thing「 )我搜索了一下,發現了一些解決這個問題的標籤,因爲如果你把RecognizesAccessKey設置爲false,那麼這個文本就不會被認爲是'AccessText'(但是這對DataGridColumnHeader不起作用,因爲它刪除了所有其他的樣式,所以,而不是其中的文本標題,我只是用文本的空白,我嘗試使用BasedOn屬性以及沒有效果DataGridColumnHeader中的第一個下劃線被刪除
我打開解決方案要麼通過C#方面(以某種方式修改RecognizesAccessKey屬性findi可能是ContentPresenter),或者通過修改XAML(找出保留默認樣式的方式)。
我的XAML看起來是這樣的:
<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>
謝謝!
啊,我忘了這個鏈接:http://stackoverflow.com/questions/40733/disable-wpf-label-accelerator-key-text-underscore-is-missing這是最接近的解決方案我可以找到,解決原來的問題,但造成我上面提到的造型問題。 – Stuart 2012-02-22 22:17:21
不能真正重現這一點,似乎沒有在未修改的DataGrid中對我進行文字轉換... – 2012-02-22 22:18:25
[WPF listbox。在字符串中跳過下劃線符號](http://stackoverflow.com/questions/4601801/wpf-listbox-skip-underscore-symbols-in-strings) – phoog 2012-02-22 22:19:48