158 lines
8.9 KiB
XML
158 lines
8.9 KiB
XML
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||
|
||
<Style TargetType="DataGridCell" x:Key="DataGridCellStyle">
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="DataGridCell">
|
||
<Border Background="Transparent">
|
||
<ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Stretch"/>
|
||
</Border>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
<Style.Triggers>
|
||
<Trigger Property="IsSelected" Value="True">
|
||
<Setter Property="Foreground" Value="#444"/>
|
||
</Trigger>
|
||
<DataTrigger Binding="{Binding State}" Value="0">
|
||
<Setter Property="Foreground" Value="red"/>
|
||
</DataTrigger>
|
||
</Style.Triggers>
|
||
</Style>
|
||
|
||
<Style TargetType="DataGridColumnHeader" x:Key="DataGridColumnHeaderfStyle">
|
||
<Setter Property="Background" Value="#A9CFF9"/>
|
||
<Setter Property="Height" Value="30"/>
|
||
<Setter Property="BorderThickness" Value="0"/>
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="DataGridColumnHeader">
|
||
<Border Background="{TemplateBinding Background}"
|
||
BorderBrush="{TemplateBinding BorderBrush}"
|
||
BorderThickness="{TemplateBinding BorderThickness}"
|
||
CornerRadius="5" Margin="0,1">
|
||
<TextBlock Text="{TemplateBinding Content}" VerticalAlignment="Center" HorizontalAlignment="Center"
|
||
Foreground="#FFF"/>
|
||
</Border>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
|
||
<Style TargetType="DataGridRow" x:Key="DataGridRowStyle">
|
||
<Setter Property="Height" Value="30"/>
|
||
<Setter Property="Background" Value="Transparent"/>
|
||
<Setter Property="BorderThickness" Value="0"/>
|
||
<!--行头样式-->
|
||
<Setter Property="HeaderStyle">
|
||
<Setter.Value>
|
||
<Style TargetType="DataGridRowHeader">
|
||
<Setter Property="Width" Value="0"/>
|
||
</Style>
|
||
</Setter.Value>
|
||
</Setter>
|
||
|
||
|
||
<Style.Triggers>
|
||
<!--条纹间隔,需要配合DataGrid.AlternationCount属性-->
|
||
<Trigger Property="AlternationIndex" Value="1" >
|
||
<Setter Property="Background" Value="#44FFFFFF" />
|
||
</Trigger>
|
||
<Trigger Property="IsMouseOver" Value="True">
|
||
<Setter Property="Background" Value="#22FFFFFF"/>
|
||
</Trigger>
|
||
<Trigger Property="IsSelected" Value="True">
|
||
<Setter Property="Background" Value="#33FFFFFF"/>
|
||
</Trigger>
|
||
<DataTrigger Binding="{Binding State}" Value="0">
|
||
<Setter Property="Foreground" Value="Red"/>
|
||
</DataTrigger>
|
||
</Style.Triggers>
|
||
</Style>
|
||
|
||
<!--DataGrid样式-->
|
||
<Style TargetType="{x:Type DataGrid}">
|
||
<!--网格线颜色-->
|
||
<Setter Property="CanUserResizeColumns" Value="True"/>
|
||
<Setter Property="Foreground" Value="#444" />
|
||
<Setter Property="Background" Value="Transparent" />
|
||
<Setter Property="BorderBrush" Value="Transparent" />
|
||
<Setter Property="HorizontalGridLinesBrush" Value="#EEE"/>
|
||
<Setter Property="VerticalGridLinesBrush" Value="Transparent"/>
|
||
<Setter Property="CanUserAddRows" Value="False"/>
|
||
<Setter Property="AutoGenerateColumns" Value="False"/>
|
||
<Setter Property="IsReadOnly" Value="True"/>
|
||
<Setter Property="CanUserSortColumns" Value="False"/>
|
||
<Setter Property="AlternationCount" Value="2"/>
|
||
|
||
<Setter Property="CellStyle" Value="{StaticResource DataGridCellStyle}"/>
|
||
<Setter Property="ColumnHeaderStyle" Value="{StaticResource DataGridColumnHeaderfStyle}"/>
|
||
<Setter Property="RowStyle" Value="{StaticResource DataGridRowStyle}"/>
|
||
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="{x:Type DataGrid}">
|
||
<Border x:Name="border" SnapsToDevicePixels="True" BorderBrush="{TemplateBinding BorderBrush}"
|
||
BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
|
||
<Border.Background>
|
||
<SolidColorBrush Color="{DynamicResource ControlLightColor}" />
|
||
</Border.Background>
|
||
<ScrollViewer x:Name="DG_ScrollViewer" Focusable="false">
|
||
<ScrollViewer.Template>
|
||
<ControlTemplate TargetType="{x:Type ScrollViewer}">
|
||
<Grid>
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="Auto" />
|
||
<ColumnDefinition Width="*" />
|
||
<ColumnDefinition Width="Auto" />
|
||
</Grid.ColumnDefinitions>
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="Auto" />
|
||
<RowDefinition Height="*" />
|
||
<RowDefinition Height="Auto" />
|
||
</Grid.RowDefinitions>
|
||
|
||
<DataGridColumnHeadersPresenter x:Name="PART_ColumnHeadersPresenter"
|
||
Grid.Column="0" Grid.ColumnSpan="3"
|
||
Visibility="{Binding HeadersVisibility,
|
||
ConverterParameter={x:Static DataGridHeadersVisibility.Column},
|
||
Converter={x:Static DataGrid.HeadersVisibilityConverter},
|
||
RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
|
||
|
||
<ScrollContentPresenter x:Name="PART_ScrollContentPresenter" Grid.ColumnSpan="3"
|
||
Grid.Row="1" CanContentScroll="{TemplateBinding CanContentScroll}" />
|
||
|
||
<ScrollBar x:Name="PART_VerticalScrollBar" Grid.Column="1"
|
||
Grid.Row="1" Orientation="Vertical" Width="12"
|
||
ViewportSize="{TemplateBinding ViewportHeight}"
|
||
Maximum="{TemplateBinding ScrollableHeight}"
|
||
Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"
|
||
Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
|
||
HorizontalAlignment="Right"/>
|
||
|
||
<Grid Grid.Column="1" Grid.Row="2">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset,
|
||
RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
|
||
<ColumnDefinition Width="*" />
|
||
</Grid.ColumnDefinitions>
|
||
|
||
<ScrollBar x:Name="PART_HorizontalScrollBar" Grid.Column="1"
|
||
Orientation="Horizontal" ViewportSize="{TemplateBinding ViewportWidth}"
|
||
Maximum="{TemplateBinding ScrollableWidth}"
|
||
Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"
|
||
Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"/>
|
||
</Grid>
|
||
</Grid>
|
||
</ControlTemplate>
|
||
</ScrollViewer.Template>
|
||
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||
</ScrollViewer>
|
||
</Border>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
|
||
</ResourceDictionary> |