<DataGrid AutoGenerateColumns="False" Grid.Row="5" Grid.Column="1" Height="Auto" HorizontalAlignment="Stretch" Margin="0" Name="grdInvoiceDetails" VerticalAlignment="Stretch" Width="Auto" IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding Mode=default}" SelectionMode="Single" GridLinesVisibility="None" HeadersVisibility="Column" Grid.ColumnSpan="2" Style="{DynamicResource HDSDataGridStyle}" CanUserAddRows="False" CanUserDeleteRows="False" SelectionUnit="Cell" Grid.RowSpan="1"> > <DataGrid.Columns> > <DataGridComboBoxColumn Header="Charge Type" Width="*" DisplayMemberPath="cty_name" SelectedValuePath="cty_pk" SelectedValueBinding="{Binding ivd_ctyfk, Mode=Default}"/> > <DataGridTextColumn Header="Amount" Width="*" Binding="{Binding ivd_amount, Mode=default}"/> > </DataGrid.Columns> > </DataGrid> >>
<UserControl.Resources> > <Style x:Key="AlignRight" TargetType="Data:DataGridCell"> > <Setter Property="HorizontalContentAlignment" Value="Right" /> > </Style> ></UserControl.Resources> > ><Data:DataGridTextColumn Header="Amount" Width="90" Binding="{Binding Amount}" IsReadOnly="True" CellStyle="{StaticResource AlignRight}"></Data:DataGridTextColumn> >>
<DataGrid> <DataGrid.Resources> <Style x:Key="AlignRight" TargetType="DataGridCell"> <Setter Property="HorizontalContentAlignment" Value="Right" /> </Style> </DataGrid.Resources> <DataGrid.Columns> <DataGridTextColumn CellStyle="{StaticResource AlignRight}"> </DataGridTextColumn> </DataGrid.Columns> </DataGrid>Or, if the alignment is only used for the one column you could just do it inline:
<DataGrid> <DataGrid.Columns> <DataGridTextColumn > <DataGridTextColumn.CellStyle> <Style> <Setter Property="FrameworkElement.HorizontalAlignment" Value="Right"></Setter> </Style> </DataGridTextColumn.CellStyle> </DataGridTextColumn> </DataGrid.Columns> </DataGrid>Disclaimer: Didn't actually try this - just my understanding of how it works.....