加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – DataGridColumnHeader中的第一个下划线被删除

发布时间:2020-12-15 06:55:26 所属栏目:百科 来源:网络整理
导读:我有一个问题,我有一个DataGridColumnHeader接收文本,下划线作为内容,第一个下划线是隐藏的,除非你按alt(“data_grid_thing”显示为“datagrid_thing”),我搜索了一下,为标签找到了一些解决此问题的解决方案,因为如果您将RecognizesAccessKey转为false,则该
我有一个问题,我有一个DataGridColumnHeader接收文本,下划线作为内容,第一个下划线是隐藏的,除非你按alt(“data_grid_thing”显示为“datagrid_thing”),我搜索了一下,为标签找到了一些解决此问题的解决方案,因为如果您将RecognizesAccessKey转为false,则该文本将不被视为“AccessText”(但是它不适用于DataGridColumnHeader,因为它会删除所有其他样式,一个带有文本标题的标题,我只是用文本来获取空格,我尝试使用BasedOn属性也没有任何效果.

我可以通过C#方式(通过某种方式找到ContentPresenter来修改RecognisedAccessKey属性)或通过修改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>

谢谢!

解决方法

这个 blog post说,你可以通过加倍来减少下划线:“data__grid_thing”.

另一种方法可以在this question的公认答案中找到

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读