Как удалить границу вокруг DatagridTextCell, который появляется на VerticalAlignment = Center? - PullRequest
0 голосов
/ 04 января 2019

Я хочу отображать значения даты в DataGrid, тогда как текст выровнен по вертикали в центре строки, а не вверху.Если я изменю свойство VerticalAlignment в стиле DataGridCell, текст будет выровнен правильно, но появится рамка.Установка BorderThickness в 0 не исправляет это.

Как избавиться от рамки / рамки, а также отобразить текст в середине строки?

DataGrid Стиль

<Style x:Key="StandardTabelle" TargetType="{x:Type DataGrid}">
    <Setter Property="Margin" Value="5"/>
    <Setter Property="Background" Value="White"/>
    <Setter Property="AlternatingRowBackground" Value="#ebecec"/>
    <Setter Property="FontSize" Value="12" />
    <Setter Property="RowHeight" Value="24"/>
    <Setter Property="ColumnHeaderStyle" Value="{StaticResource StandardSpaltenKopf}" />
    <Setter Property="CanUserAddRows" Value="False"/>
    <Setter Property="CanUserDeleteRows" Value="False"/>
    <Setter Property="CanUserReorderColumns" Value="False"/>
    <Setter Property="CanUserResizeRows" Value="False"/>
    <Setter Property="CanUserResizeColumns" Value="False"/>
    <Setter Property="IsReadOnly" Value="True" />
    <Setter Property="VerticalContentAlignment" Value="Center"/>
    <Setter Property="RowStyle" Value="{StaticResource AusgewählteZeile}"/>
    <Setter Property="VerticalContentAlignment" Value="Center" />
    <Setter Property="VerticalAlignment" Value="Center"/>
</Style>

Стиль для выбранногоСтрока

<Style x:Key="AusgewählteZeile" TargetType="{x:Type DataGridRow}">
    <Style.Triggers>
        <Trigger Property="IsSelected" Value="True">
            <Setter Property="Background" Value="{StaticResource Rot}"/>
        </Trigger>
    </Style.Triggers>
</Style>

Стиль для Datecell с выравниванием по верху

<Style x:Key="DatumZelle" TargetType="DataGridCell">
    <Setter Property="HorizontalContentAlignment" Value="Right"/>
    <Setter Property="VerticalContentAlignment" Value="Center"/>
    <Setter Property="VerticalAlignment" Value="Center"/>
    <Setter Property="HorizontalAlignment" Value="Stretch"/>
    <Setter Property="BorderThickness" Value="0"/>
    <Style.Triggers>
        <Trigger Property="IsSelected" Value="True">
            <Setter Property="Background" Value="Transparent" />                
        </Trigger>
    </Style.Triggers>
</Style>

enter image description here

1 Ответ

0 голосов
/ 04 января 2019

Вы можете создать пользовательский ControlTemplate:

<Style x:Key="DatumZelle" TargetType="DataGridCell">
    <Setter Property="HorizontalAlignment" Value="Stretch"/>
    <Setter Property="BorderThickness" Value="0"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type DataGridCell}">
                <Grid Background="{TemplateBinding Background}">
                    <ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Right" />
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Style.Triggers>
        <Trigger Property="IsSelected" Value="True">
            <Setter Property="Background" Value="Transparent" />
        </Trigger>
    </Style.Triggers>
</Style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...