ListViewBaseStyle.xaml 5.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:hc="clr-namespace:HandyControl.Controls">
  4. <Style x:Key="GridViewColumnHeaderGripper" TargetType="Thumb">
  5. <Setter Property="Canvas.Right" Value="-9"/>
  6. <Setter Property="Width" Value="18"/>
  7. <Setter Property="Height" Value="{Binding ActualHeight, RelativeSource={RelativeSource TemplatedParent}}"/>
  8. <Setter Property="Padding" Value="0"/>
  9. <Setter Property="Background" Value="Transparent"/>
  10. <Setter Property="Template">
  11. <Setter.Value>
  12. <ControlTemplate TargetType="Thumb">
  13. <Border Background="Transparent" Padding="{TemplateBinding Padding}">
  14. <Rectangle Fill="{TemplateBinding Background}" HorizontalAlignment="Center" Width="1"/>
  15. </Border>
  16. </ControlTemplate>
  17. </Setter.Value>
  18. </Setter>
  19. </Style>
  20. <Style TargetType="GridViewColumnHeader">
  21. <Setter Property="VerticalContentAlignment" Value="Center"/>
  22. <Setter Property="HorizontalContentAlignment" Value="Left"/>
  23. <Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
  24. <Setter Property="Padding" Value="12,0" />
  25. <Setter Property="MinHeight" Value="{Binding Path=(hc:GridViewAttach.ColumnHeaderHeight),RelativeSource={RelativeSource AncestorType=ListView}}"/>
  26. <Setter Property="Template">
  27. <Setter.Value>
  28. <ControlTemplate TargetType="GridViewColumnHeader">
  29. <hc:SimplePanel SnapsToDevicePixels="true">
  30. <Border x:Name="HeaderBorder" BorderBrush="{TemplateBinding BorderBrush}" Background="Transparent">
  31. <ContentPresenter x:Name="HeaderContent" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
  32. </Border>
  33. <Canvas>
  34. <Thumb x:Name="PART_HeaderGripper" Style="{StaticResource GridViewColumnHeaderGripper}"/>
  35. </Canvas>
  36. </hc:SimplePanel>
  37. </ControlTemplate>
  38. </Setter.Value>
  39. </Setter>
  40. </Style>
  41. <Style x:Key="ListViewItemBaseStyle" TargetType="ListViewItem">
  42. <Setter Property="Background" Value="{DynamicResource RegionBrush}"/>
  43. <Setter Property="BorderThickness" Value="0"/>
  44. <Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
  45. <Setter Property="SnapsToDevicePixels" Value="true"/>
  46. <Setter Property="Margin" Value="0,0,0,4"/>
  47. <Setter Property="Padding" Value="{StaticResource DefaultControlPadding}"/>
  48. <Setter Property="MinHeight" Value="44"/>
  49. <Setter Property="Template">
  50. <Setter.Value>
  51. <ControlTemplate TargetType="ListViewItem">
  52. <Border CornerRadius="4" x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
  53. <GridViewRowPresenter Content="{TemplateBinding Content}" Columns="{TemplateBinding GridView.ColumnCollection}"/>
  54. </Border>
  55. </ControlTemplate>
  56. </Setter.Value>
  57. </Setter>
  58. <Style.Triggers>
  59. <Trigger Property="IsMouseOver" Value="true">
  60. <Setter Property="Background" Value="{DynamicResource DarkDefaultBrush}"/>
  61. </Trigger>
  62. <Trigger Property="IsSelected" Value="True">
  63. <Setter Property="Background" Value="{DynamicResource PrimaryBrush}"/>
  64. <Setter Property="TextElement.Foreground" Value="{DynamicResource TextIconBrush}"/>
  65. </Trigger>
  66. <MultiTrigger>
  67. <MultiTrigger.Conditions>
  68. <Condition Property="IsSelected" Value="true"/>
  69. <Condition Property="Selector.IsSelectionActive" Value="false"/>
  70. </MultiTrigger.Conditions>
  71. <Setter Property="Background" Value="{DynamicResource DarkDefaultBrush}"/>
  72. <Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
  73. </MultiTrigger>
  74. <Trigger Property="GridView.ColumnCollection" Value="{x:Null}">
  75. <Setter Property="Template">
  76. <Setter.Value>
  77. <ControlTemplate TargetType="ListViewItem">
  78. <Border CornerRadius="4" x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
  79. <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
  80. </Border>
  81. </ControlTemplate>
  82. </Setter.Value>
  83. </Setter>
  84. </Trigger>
  85. </Style.Triggers>
  86. </Style>
  87. </ResourceDictionary>