2017-02-05 7 views
1

Это мой datagrid, который содержит 7 столбцов, здесь изображение содержания в моем DataGrid:Как центрировать ячейки колонки по-разному в WPF

enter image description here

Я применил следующий код:

<DataGrid Grid.Row="1" VerticalContentAlignment="Center" IsReadOnly="True" AlternatingRowBackground="#E0E4E5" AlternationCount="2" GridLinesVisibility="Horizontal" FontSize="16" RowHeight="35" SelectionUnit="FullRow" RowHeaderWidth="0" HorizontalGridLinesBrush="Gray" VerticalGridLinesBrush="#EBEBEB" CanUserAddRows="False" MinHeight="200" x:Name="dtgItems" Margin="15,0,4,10" AutoGenerateColumns="False" Background="Transparent" SelectionChanged="dtgItems_SelectionChanged" ScrollViewer.CanContentScroll="False" EnableRowVirtualization ="False" > 

      <DataGrid.Resources> 
       <Style TargetType="{x:Type DataGridColumnHeader}"> 
        <Setter Property="Background" Value="#0091EA"/> 
        <Setter Property="Opacity" Value="1"/> 
        <Setter Property="Foreground" Value="White"/> 
        <Setter Property="HorizontalContentAlignment" Value="Center" /> 
        <Setter Property="FontSize" Value="16"/> 
        <Setter Property="FontFamily" Value="Arial"/> 
        <Setter Property="Height" Value="40"/> 
       </Style> 
       <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="#0091EA"/> 
      </DataGrid.Resources> 
      <DataGrid.CellStyle> 
       <StaticResource ResourceKey="DataGridCentering"/> 
      </DataGrid.CellStyle> 
      <DataGrid.Columns> 
       <DataGridTextColumn Binding="{Binding OrdinalNumber}" Header="OrdinalNumber" Foreground="Black" FontSize="15" FontFamily="Verdana" Width="10*" /> 
       <DataGridTextColumn Binding="{Binding ArticleCode}" Header="Code" Foreground="Black" FontSize="15" FontFamily="Verdana" Width="10*" /> 
       <DataGridTextColumn Binding="{Binding ArticleTitle}"  Header="Title" Foreground="Black" FontSize="15" FontFamily="Verdana" Width="40*" /> 
       <DataGridTextColumn Binding="{Binding Quantity, StringFormat=N2}"  Header="Qty" Foreground="Black"  FontSize="15" FontFamily="Verdana" Width="10*" /> 
       <DataGridTextColumn Binding="{Binding Price, StringFormat=N2}" Header="Price"  Foreground="Black"  FontSize="15" FontFamily="Verdana" Width="10*" /> 
       <DataGridTextColumn Binding="{Binding Discount, StringFormat=N2}" Header="Discount" Foreground="Black"   FontSize="15" FontFamily="Verdana" Width="10*"/> 
       <DataGridTextColumn Binding="{Binding TotalAmount, StringFormat=N2}" Header="Total" Foreground="Black"   FontSize="15" FontFamily="Verdana" Width="10*"/> 
      </DataGrid.Columns> 
     </DataGrid> 

как можно заметить Я подал заявку

VerticalContentAlignment="Center" on my `DataGrid` so all of my content is alligned center, but I would like to align `VerticalContentAlignment="Left"` to some of my cells/column, for example I would like to align Title to Left.. 

Итак, как я могу применить другое выравнивание для разных ячеек/столбцов?

Спасибо, ребята, Приветствия

PS Я пытался с этим:

<DataGrid.Resources> 

    <Style x:Key="LeftAlignCell" TargetType="DataGridCell"> 
     <Setter Property="VerticalContentAlignment" Value="Left"/> 
    </Style> 

<DataGrid.Resources> 

И

ElementStyle="{StaticResource LeftAlignCell}" 

Я применил ElementStyle к моему DataGridTextColumn

Но я получил следующее сообщение об ошибке: Запрошенное значение осталось не без обозначения даты Таким образом, я предполагаю, что это не работает таким образом ..

ответ

1

Вы можете

<Setter Property="HorizontalContentAlignment" Value="Left" /> 

, потому что это горизонтальное выравнивание, а не по вертикали один вы говорите о

+1

теперь я перед следующей Проблема: APPlication сокрушительна, когда я запускаю ее после редактирования моего кода, я изменил setter, как вы сказали, и добавил ElementStyle = "{StaticResource LeftAlign}" в DatagGridTextColumn и после того, как это приложение сокрушилось при запуске xD –

+0

Так оно * компилирует * сейчас. .. вы решили ошибку, отправленную в вопросе, не так ли? Является ли этот сбой другой проблемой? Примите это как ответ и откройте другой конкретный вопрос с новыми * подробностями * –

+1

true, он компилируется сейчас, но когда я пытаюсь применить его к подавлению приложения, что вы думаете, что может быть проблемой? и его определенно, когда я пытаюсь применить ElementStyle, когда я удаляю эту строку, приложение больше не сокрушает. :) –

 Смежные вопросы

  • Нет связанных вопросов^_^