Перенос строк в заголовке datagrid WPF

261
08 февраля 2020, 21:00

Подскажите как оформить перенос строк в шапке datagrid (WPF) и отцентрировать содержимое заголовка по центру?

Answer 1

В результате получилась следующая разметка:

    <Window.Resources>
    <local:VisibilityConverter x:Key="VisibilityConverter" />
    <DataTemplate x:Key="HeaderTemplate">
        <TextBlock Text="{Binding}" TextWrapping="Wrap"  TextAlignment="Center"/>  
        <!--Обозначаем наличие привязки в ячеке(шапке?) таблицы, выравниванием текст в ячейках по центру и задаем перенос текста-->
    </DataTemplate>
    <Style TargetType="DataGridColumnHeader"> 
        <!--Ограничиваем применение стиля (только для шапки DataGridColumnHeader)-->
        <Setter Property="HorizontalContentAlignment" Value="Center"/> 
        <!--Задаем выравнивание по центру ячейки-->
        <Setter Property="Padding" Value="2"/>  
        <!--Задаем отступ в ячейке-->
        <Setter Property="ContentTemplate" Value="{StaticResource HeaderTemplate}"/>
        <!--Применяем в стиле шаблон отображения текстовых данных HeaderTemplate-->
    </Style>
    </Window.Resources>

Разметка таблицы:

<DataGrid Grid.Row="1"  x:Name="dgStagesView" Background="#FFE1E1E5"  AutoGenerateColumns="False" IsReadOnly="True"  FontSize="12"  MinColumnWidth="15"  HeadersVisibility="Column">
                    <DataGrid.Columns>
                        <DataGridTextColumn x:Name="Status" Binding="{Binding Status}" Header="Статус" Width="auto"/>
                        <DataGridTextColumn x:Name="NumberOfStage" Binding="{Binding NumberOfStage}" Header="Номер" Width="auto" />
                        <DataGridTextColumn x:Name="_StartDate" Binding="{Binding StartDate, StringFormat=\{0:dd.MM.yyyy\}}" Header="Дата начала" Width="auto" />
                        <DataGridTextColumn x:Name="_EndDate" Binding="{Binding EndDate, StringFormat=\{0:dd.MM.yyyy\}}" Header="Дата окончания" Width="auto"/>
                        <DataGridTextColumn x:Name="PriceWithTax" Binding="{Binding PriceWithTax, StringFormat=\{0:N2\}}" Header="Цена с НДС" Width="180*"/>
                        <DataGridTextColumn x:Name="PriceWithoutTax" Binding="{Binding PriceWithoutTax, StringFormat=\{0:N2\}}" Header="Цена без НДС" Width="180*"/>
                        <DataGridTextColumn x:Name="TravelCosts" Binding="{Binding TravelCosts, StringFormat=\{0:N2\}}" Header="Командировочные" Width="180*"/>
                        <DataGridTextColumn x:Name="MaterialCosts" Binding="{Binding MaterialCosts, StringFormat=\{0:N2\}}" Header="Материальные затраты" Width="180*" />
                        <DataGridTextColumn x:Name="OtherDirectCosts" Binding="{Binding OtherDirectCosts, StringFormat=\{0:N2\}}" Header="Прочие затраты" Width="180*" />
                        <DataGridTextColumn x:Name="SumOutsideExec" Binding="{Binding SumOutsideExec, StringFormat=\{0:N2\}}" Header="Внешние соисполнители &#xA; (с НДС)"  Width="180*"/>
                        <DataGridTextColumn x:Name="SumWithoutTaxOutsideExec" Binding="{Binding SumWithoutTaxOutsideExec, StringFormat=\{0:N2\}}" Header="Внешние соисполнители &#xA; (без НДС)" Width="180*"/>
                        <DataGridTextColumn x:Name="SumInsideExec" Binding="{Binding SumInsideExec, StringFormat=\{0:N2\}}" Header="Внутренние соисполнители &#xA; (с НДС)" Width="180*" />
                        <DataGridTextColumn x:Name="SumWithoutTaxInsideExec" Binding="{Binding SumWithoutTaxInsideExec, StringFormat=\{0:N2\}}" Header="Внутренние соисполнители &#xA; (без НДС)" Width="180*" />
                        <DataGridTextColumn x:Name="SumAllExec" Binding="{Binding SumAllExec, StringFormat=\{0:N2\}}" Header="Сумма соисполнителей &#xA; (с НДС)"  Width="180*"/>
                        <DataGridTextColumn x:Name="SumWithoutTaxAllExec" Binding="{Binding SumWithoutTaxAllExec, StringFormat=\{0:N2\}}" Header="Сумма соисполнителей &#xA; (без НДС)"  Width="180*"/>
                        <DataGridTextColumn x:Name="BalanceOrganization" Binding="{Binding BalanceOrganization, StringFormat=\{0:N2\}}" Header="Баланс" Width="150*"/>
                        <DataGridTextColumn x:Name="BalanceDapartament" Binding="{Binding BalanceDapartament, StringFormat=\{0:N2\}}" Header="Баланc Департамента" Width="180*"/>
                    </DataGrid.Columns>
                    <DataGrid.RowStyle>
                        <Style TargetType="{x:Type DataGridRow}">
                            <EventSetter Event="MouseDoubleClick" Handler="DoubleClickRow"/>
                        </Style>
                    </DataGrid.RowStyle>
                </DataGrid>
READ ALSO
Удалить элемент из JSON ARRAY Mysql

Удалить элемент из JSON ARRAY Mysql

Есть таблица channels в которой есть колонка users формата json

288
url для страницы tpl

url для страницы tpl

Как мне сделать ссылку на страницу?

242
caching_sha2_password и php 7.3

caching_sha2_password и php 7.3

не работает аутентификация c caching_sha2_password на php 73 для mysql8

270