簡體   English   中英

DataGridHeader中的Horizo​​ntalContentAlignment

[英]HorizontalContentAlignment in DataGridHeader

在我的DataGrid標頭中,我想將內容向右對齊。 目前,我正在使用DataGrid上的樣式來執行此操作:

<Style TargetType="DataGridColumnHeader" x:Key="ResultatenHeader" BasedOn="{StaticResource MetroDataGridColumnHeader}">
    <Setter Property="HorizontalContentAlignment" Value="Right"/>
</Style>

但是,這將產生以下結果:

結果

如您所見,我的標題有兩行,我使用以下代碼完成了此操作:

<DataGridTextColumn Width="100" Header="neerslag&#x0a;(m³)" Binding="{Binding Path=Resultaten[2].Double, StringFormat={}{0:f2}}"/>

我將如何使第二行(單位,m3)也正確對齊。

使用TextBlock作為Header內容,然后可以將文本右對齊

<DataGridTextColumn ...>
    <DataGridTextColumn.Header>
        <TextBlock Text="neerslag&#x0a;(m³)" TextAlignment="Right"/>
    </DataGridTextColumn.Header>
</DataGridTextColumn>

編輯

因為您使用MahApps Metro,它更改了DataGridColumnHeader模板,並且作為其一部分,它將ContentTemplate更改為TextBlockControls.DataGrid.xaml第238行),所以您無法再將任何內容放入Header因為它將轉換為字符串。 您可以更改DataGridColumnHeader樣式,以Metro樣式為基礎,並將ContentTemplate更改為null,這將允許您再次將所需的任何內容(如TextBlock )放置在Header但它應保持Metro樣式

<DataGrid.Resources>
   <ResourceDictionary>
       <ResourceDictionary.MergedDictionaries>
           <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/controls.datagrid.xaml"/>
       </ResourceDictionary.MergedDictionaries>           
       <Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource MetroDataGridColumnHeader}">
           <Setter Property="FontWeight" Value="SemiBold"/>
           <Setter Property="ContentTemplate" Value="{x:Null}"/>
       </Style>
   </ResourceDictionary>
</DataGrid.Resources>

與其像dkozl那樣將ContentTemplate設置為Null,不如說我決定將ContentTemplate編輯為:

<Setter Property="ContentTemplate">
    <Setter.Value>
         <DataTemplate>
             <TextBlock TextBlock.FontWeight="SemiBold"
                        Text="{Binding Converter={StaticResource ToUpperConverter}}"
                        TextAlignment="Right"/>
          </DataTemplate>
    </Setter.Value>
</Setter>

我將其應用於所有涉及數字的表,它的作用就像一個魅力:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM