1
我有DataGrid
我使用MahApps
樣式。我有一個專欄,需要集中;每次創建樣式時,與該列關聯的單元格在選中時都會有不同的外觀。WPF DataGrid居中列擾亂MahApps樣式
以下是我的DataGrid XAML。
<DataGrid ItemsSource="{Binding Path=DiariesForSelectedProject}"
AutoGenerateColumns="False"
HorizontalContentAlignment="Center"
HorizontalAlignment="Stretch">
<DataGrid.Columns>
<DataGridTextColumn Header="Number"
Binding="{Binding Path=Number}"
Width="Auto"
IsReadOnly="True" >
<DataGridTextColumn.CellStyle>
<Style>
<Setter Property="FrameworkElement.HorizontalAlignment"
Value="Center" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="Date"
Binding="{Binding Path=Date, StringFormat=d}"
Width="Auto"
IsReadOnly="True"/>
<DataGridTextColumn Header="Inspector"
Binding="{Binding Path=Inspector}"
Width="Auto"
IsReadOnly="True" />
<DataGridTextColumn Header="Diary Status"
Binding="{Binding Path=Status}"
Width="Auto"
IsReadOnly="True" />
</DataGrid.Columns>
<DataGrid.ItemContainerStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=IsOwner}"
Value="True" />
<Condition Binding="{Binding Path=Status}"
Value="Supervisor Returned" />
</MultiDataTrigger.Conditions>
<Setter Property="Foreground"
Value="White" />
<Setter Property="Background"
Value="Red" />
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=IsOwner}"
Value="True" />
<Condition Binding="{Binding Path=Status}"
Value="Office Returned" />
</MultiDataTrigger.Conditions>
<Setter Property="Foreground"
Value="White" />
<Setter Property="Background"
Value="Red" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</DataGrid.ItemContainerStyle>
</DataGrid>
而不是使用CellStyle我有上述情況,我也試過如下:
<Style x:Key="DataGridColumnHeaderDataGridCellStyle"
TargetType="{x:Type DataGridCell}"
BasedOn="{StaticResource {x:Type DataGridCell}}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
然後引用了樣式我的手機。但是,最終的結果是兩次相同。列居中,但DataGrid單元格在選擇該行時具有不同的外觀。
有人能幫助我如何正確居中一列並不會弄亂MahApps風格?
謝謝!