首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置header的高度为最大高度?

如何设置header的高度为最大高度?
EN

Stack Overflow用户
提问于 2019-01-24 20:13:12
回答 1查看 77关注 0票数 0

我有一个使用两种样式的datagrid,所以一些头文件使用了这两种样式,另一些则使用了另一种样式。主要目的是将其中一个向左对齐,另一个向右对齐。

样式如下:

代码语言:javascript
复制
<Style x:Key="DataGridColumnHeaderLeftAlignement" TargetType="{x:Type DataGridColumnHeader}">
                <Setter Property="HorizontalAlignment" Value="Stretch"/>
                <Setter Property="VerticalAlignment" Value="Center"/>
                <Setter Property="FontWeight" Value="Black"/>
                <Setter Property="VerticalContentAlignment" Value="Center"/>
                <Setter Property="Height" Value="25"/>
                <!--Lo interesante sería tener un poco de margen entre la cabecera y la primera
                línea, pero al poner un margin tipo 0,0,0,10 aparece un background que no se sabe
                cómo quitar, por lo que mejor no se pone margen.
                @#REVISAR-05: ver cómo se puede dejar ese espacio.-->
                <Setter Property="Margin" Value="0,0,0,0"/>
                <Setter Property="Background" Value="Transparent"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type DataGridColumnHeader}">
                            <Grid>
                                <Themes:DataGridHeaderBorder BorderBrush="Black" BorderThickness="0,0,0,2" Background="LightGray" Padding="10, 0, 0, 2" SeparatorBrush="Transparent" SeparatorVisibility="Collapsed">
                                    <ContentPresenter HorizontalAlignment="Left" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                                </Themes:DataGridHeaderBorder>
                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>

            <Style x:Key="DataGridColumnHeaderRightAlignement" TargetType="{x:Type DataGridColumnHeader}">
                <Setter Property="HorizontalAlignment" Value="Stretch"/>
                <Setter Property="VerticalAlignment" Value="Center"/>
                <Setter Property="FontWeight" Value="Black"/>
                <Setter Property="VerticalContentAlignment" Value="Center"/>
                <Setter Property="Height" Value="AUTO"/>
                <Setter Property="Margin" Value="0,0,0,0"/>
                <Setter Property="Background" Value="Transparent"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type DataGridColumnHeader}">
                            <Grid>
                                <Themes:DataGridHeaderBorder BorderBrush="Black" BorderThickness="0,0,0,2" Background="LightGray" Padding="3, 0, 10, 2" SeparatorBrush="Transparent" SeparatorVisibility="Collapsed">
                                    <ContentPresenter HorizontalAlignment="Right" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                                </Themes:DataGridHeaderBorder>
                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>

在右对齐的样式中,我将高度设置为AUTO,因为它可以有两行,所以我想根据内容进行调整。但是,标头的其余部分保持其高度为25,因为它们使用的样式设置为25。然而,我已经尝试设置自动,结果是相同的,每个标题有不同的高度取决于他们使用的样式。

所以我的问题是,是否有可能将所有标题的高度调整为最大标题大小?

我还有一个属性,如果为真,我必须在标题中使用2行,如果为假,我必须使用1行,所以另一种选择是条件样式,检查视图模型的属性中的这个变量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-24 20:52:38

您的样式中需要进行两处更改

1)删除用于设置列高度的行。

代码语言:javascript
复制
<Setter Property="Height" Value="AUTO"/> //remove this

2)将VerticalAlignment设置为拉伸,以便那些小的头部可以将高度设置为等于大的头部

代码语言:javascript
复制
<Setter Property="VerticalAlignment" Value="Stretch"/> //update from Center to Stretch
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54346435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档