繁体   English   中英

如何在DevExpress网格列标题中删除填充/边距

[英]How to remove padding / margin in DevExpress Grid Column header

我有一个DevExpress网格控件,但是标题中的空间有限,因此我的所有文本都不适合。标题中有相当大的填充(或可能有边距),但是如果可以减少的话,可以解决我的问题。 但是我不知道填充在哪里。

该列定义为...

        <dxg:GridColumn
            CellStyle="{StaticResource DefaultCellStyle}"
            CellTemplate="{StaticResource TestCellValueTemplate}"
            FieldName="Test2.DisplayValue"
            Header="{Binding Columns.Test2Column}"
            HeaderTemplate="{StaticResource TestColumnHeaderTemplate}"
            HorizontalHeaderContentAlignment="Center"
            Visible="{Binding Columns.Test2Column.IsVisible}"
            VisibleIndex="2" />

而且HeaderTemplate

    <DataTemplate 
        x:Key="TestColumnHeaderTemplate" 
        DataType="vsvm:FvcSessionGridTestColumn">
        <StackPanel
            HorizontalAlignment="Stretch"
            VerticalAlignment="Stretch"
            Orientation="Vertical">
            <TextBlock
                HorizontalAlignment="Stretch"
                FontWeight="Bold"
                Text="{Binding Header}" />
            <TextBlock
                HorizontalAlignment="Center"
                FontSize="11"
                Text="{Binding Time, Mode=OneWay, StringFormat=HH:mm:ss}" />
        </StackPanel>
    </DataTemplate>

在任何地方都没有提及边距或填充。 但是,尽管我可以控制StackPanel的宽度,但是如果我将其设置为大于可用空间,它就会消失在单元格的填充后面。

我尝试添加

ColumnHeaderContentStyle="{StaticResource DefaultHeaderStyle}"

(并且)

    <Style x:Key="DefaultHeaderStyle"
           TargetType="{x:Type dxg:HeaderContentControl}">
        <Setter Property="Margin" Value="0, 0, 0, 0" />
        <Setter Property="Padding" Value="0, 0, 0, 0" />
        <Setter Property="Background" Value="Red" />
    </Style>

对于GridColumn元素,但它似乎被完全忽略了。

在此处输入图片说明

这可能是值得指出的是,我用“史努比”,试图找到保证金的来源,它揭示了ContentMargin13, 12, 13, 12 如果我更改此设置,它似乎可以在Snoop中使用。 但是我不知道这在代码中的什么地方或在哪里覆盖它。

在此处输入图片说明

我终于在这里找到了答案...

https://www.devexpress.com/Support/Center/Question/Details/T241104

在我的情况下,解决方案是重写ContentMargin中的ContentMargin

<UserControl.Resources>

    <ControlTemplate x:Key="{dxgt:GridColumnHeaderThemeKey ResourceKey=ControlTemplate, IsThemeIndependent=True}" TargetType="{x:Type dxg:GridColumnHeaderBase}">
        <dxg:ColumnHeaderDockPanel x:Name="PART_LayoutPanel" TextElement.Foreground="{DynamicResource {dxgt:GridColumnHeaderThemeKey ResourceKey=HeaderCaptionForeground}}" ContentMargin="2, 12, 2, 12" />
    </ControlTemplate>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM