DataGrid.xaml 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  3. <!--标题栏样式-->
  4. <Style x:Key="DataGrid.ColumnHeader" TargetType="{x:Type DataGridColumnHeader}">
  5. <Setter Property="SnapsToDevicePixels" Value="True" />
  6. <Setter Property="Foreground" Value="{DynamicResource Brush.Text}" />
  7. <Setter Property="FontFamily" Value="{DynamicResource FontFamily.Global}"/>
  8. <Setter Property="FontSize" Value="{DynamicResource FontSize.Title}" />
  9. <Setter Property="Cursor" Value="Hand" />
  10. <Setter Property="Background" Value="{DynamicResource Brush.TextContrast}"/>
  11. <Setter Property="VerticalContentAlignment" Value="Center"/>
  12. <!--<Setter Property="HorizontalContentAlignment" Value="Center"/>-->
  13. <!--<Setter Property="HorizontalAlignment" Value="Center"/>-->
  14. <Setter Property="VerticalAlignment" Value="Center" />
  15. <Setter Property="BorderBrush" Value="Transparent"/>
  16. <Setter Property="BorderThickness" Value="0"/>
  17. <Setter Property="Margin" Value="5"/>
  18. <Setter Property="Template">
  19. <Setter.Value>
  20. <ControlTemplate TargetType="{x:Type DataGridColumnHeader}">
  21. <Border x:Name="BackgroundBorder"
  22. BorderThickness="{TemplateBinding BorderThickness}"
  23. BorderBrush="{TemplateBinding BorderBrush}"
  24. Background="{TemplateBinding Background}">
  25. <ContentPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
  26. HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
  27. Content="{TemplateBinding Content}"/>
  28. </Border>
  29. </ControlTemplate>
  30. </Setter.Value>
  31. </Setter>
  32. </Style>
  33. <!--行样式触发-->
  34. <Style x:Key="DataGrid.Row" TargetType="{x:Type DataGridRow}">
  35. <!--<Setter Property="Height" Value="30"/>-->
  36. <Setter Property="Focusable" Value="True"/>
  37. <Setter Property="FontFamily" Value="{DynamicResource FontFamily.Global}"/>
  38. <Setter Property="FontSize" Value="{DynamicResource FontSize.Body}"/>
  39. <Setter Property="Foreground" Value="{DynamicResource Brush.Text}" />
  40. <Style.Triggers>
  41. <!--隔行换色-->
  42. <Trigger Property="AlternationIndex" Value="0" >
  43. <Setter Property="Background" Value="{DynamicResource Brush.PreviewBackground}" />
  44. </Trigger>
  45. <Trigger Property="AlternationIndex" Value="1" >
  46. <Setter Property="Background" Value="#343434" />
  47. </Trigger>
  48. <Trigger Property="IsMouseOver" Value="True">
  49. <Setter Property="Background" Value="{DynamicResource Brush.Neutral}"/>
  50. </Trigger>
  51. </Style.Triggers>
  52. </Style>
  53. <!--单元格样式触发-->
  54. <Style x:Key="DataGrid.Cell" TargetType="{x:Type DataGridCell}">
  55. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  56. <Setter Property="VerticalContentAlignment" Value="Center"/>
  57. <Setter Property="HorizontalAlignment" Value="Stretch"/>
  58. <Setter Property="VerticalAlignment" Value="Stretch"/>
  59. <Setter Property="BorderThickness" Value="0"/>
  60. <Setter Property="BorderBrush" Value="Transparent"/>
  61. <Setter Property="Background" Value="Transparent"/>
  62. <Setter Property="FontSize" Value="{DynamicResource FontSize.Body}"/>
  63. <Setter Property="Margin" Value="0 5 0 5"/>
  64. <Setter Property="Focusable" Value="True"/>
  65. <Setter Property="Template">
  66. <Setter.Value>
  67. <ControlTemplate TargetType="{x:Type DataGridCell}">
  68. <Border Background="{TemplateBinding Background}"
  69. BorderBrush="{TemplateBinding BorderBrush}"
  70. BorderThickness="{TemplateBinding BorderThickness}"
  71. HorizontalAlignment="Stretch"
  72. VerticalAlignment="Stretch">
  73. <ContentPresenter HorizontalAlignment="Stretch"
  74. VerticalAlignment="Stretch"/>
  75. </Border>
  76. </ControlTemplate>
  77. </Setter.Value>
  78. </Setter>
  79. <Style.Triggers>
  80. <Trigger Property="IsSelected" Value="True">
  81. <Setter Property="Foreground" Value="{DynamicResource Brush.SelectionSelected}"/>
  82. </Trigger>
  83. </Style.Triggers>
  84. </Style>
  85. <ControlTemplate x:Key="Template.DataGrid" TargetType="{x:Type DataGrid}">
  86. <Border BorderBrush="{TemplateBinding BorderBrush}"
  87. BorderThickness="{TemplateBinding BorderThickness}"
  88. Background="{TemplateBinding Background}">
  89. <Grid>
  90. <Grid.RowDefinitions>
  91. <RowDefinition Height="Auto"/>
  92. <RowDefinition Height="*"/>
  93. </Grid.RowDefinitions>
  94. <DataGridColumnHeadersPresenter x:Name="PART_ColumnHeadersPresenter"
  95. Grid.Row="0"
  96. Visibility="Visible"/>
  97. <ScrollViewer Grid.Row="1"
  98. x:Name="PART_ScrollViewer"
  99. Style="{DynamicResource ScrollViewer.Default}">
  100. <ItemsPresenter/>
  101. </ScrollViewer>
  102. </Grid>
  103. </Border>
  104. </ControlTemplate>
  105. <!--主要DataGrid-->
  106. <Style x:Key="DataGrid.Primary" TargetType="{x:Type DataGrid}">
  107. <!--网格线颜色-->
  108. <Setter Property="Background" Value="{DynamicResource Brush.TextContrast}" />
  109. <Setter Property="Foreground" Value="{DynamicResource Brush.TextInactive}"/>
  110. <Setter Property="HorizontalGridLinesBrush" Value="Transparent"/>
  111. <Setter Property="VerticalGridLinesBrush" Value="Transparent"/>
  112. <Setter Property="SnapsToDevicePixels" Value="True"/>
  113. <Setter Property="RowHeaderWidth" Value="0"/>
  114. <Setter Property="AlternatingRowBackground" Value="#343434"/>
  115. <Setter Property="CanUserAddRows" Value="False"/>
  116. <Setter Property="CanUserDeleteRows" Value="False"/>
  117. <Setter Property="CanUserResizeColumns" Value="True"/>
  118. <Setter Property="CanUserResizeRows" Value="False"/>
  119. <Setter Property="CanUserSortColumns" Value="False"/>
  120. <Setter Property="AutoGenerateColumns" Value="False"/>
  121. <Setter Property="ColumnHeaderStyle" Value="{DynamicResource DataGrid.ColumnHeader}"/>
  122. <Setter Property="RowStyle" Value="{DynamicResource DataGrid.Row}"/>
  123. <Setter Property="CellStyle" Value="{DynamicResource DataGrid.Cell}"/>
  124. <Setter Property="Template" Value="{DynamicResource Template.DataGrid}"/>
  125. <Setter Property="SelectionUnit" Value="FullRow"/>
  126. </Style>
  127. <!--DataGrid编辑文本框-->
  128. <Style x:Key="DataGrid.EditingTextBox" TargetType="{x:Type TextBox}">
  129. <Setter Property="HorizontalAlignment" Value="Stretch"/>
  130. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  131. <Setter Property="VerticalAlignment" Value="Stretch"/>
  132. <Setter Property="VerticalContentAlignment" Value="Center"/>
  133. <Setter Property="BorderThickness" Value="0"/>
  134. <Setter Property="Background" Value="{DynamicResource Brush.Background}"/>
  135. <!--<Setter Property="Width" Value="auto"/>-->
  136. <Setter Property="Height" Value="30"/>
  137. <Setter Property="Foreground" Value="{DynamicResource Brush.Text}"/>
  138. </Style>
  139. </ResourceDictionary>