ListBoxStyle.xaml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  2. <!-- 用于页面编辑的Item样式 -->
  3. <ControlTemplate x:Key="ListBoxItemControlTemplate" TargetType="{x:Type ListBoxItem}">
  4. <Border
  5. x:Name="Bd"
  6. Padding="{TemplateBinding Padding}"
  7. Background="{TemplateBinding Background}"
  8. BorderBrush="{TemplateBinding BorderBrush}"
  9. BorderThickness="{TemplateBinding BorderThickness}"
  10. CornerRadius="{StaticResource border-radius.4}"
  11. FocusVisualStyle="{x:Null}"
  12. SnapsToDevicePixels="True">
  13. <ContentPresenter
  14. Margin="16,8"
  15. Content="{TemplateBinding Content}"
  16. ContentStringFormat="{TemplateBinding ContentStringFormat}"
  17. ContentTemplate="{TemplateBinding ContentTemplate}"
  18. FocusVisualStyle="{x:Null}"
  19. SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
  20. </Border>
  21. <ControlTemplate.Triggers>
  22. <MultiTrigger>
  23. <MultiTrigger.Conditions>
  24. <Condition Property="IsMouseOver" Value="True" />
  25. </MultiTrigger.Conditions>
  26. <Setter TargetName="Bd" Property="Background" Value="Transparent" />
  27. <Setter TargetName="Bd" Property="BorderBrush" Value="{StaticResource color.sys.border.accent.lv2}" />
  28. </MultiTrigger>
  29. <MultiTrigger>
  30. <MultiTrigger.Conditions>
  31. <Condition Property="Selector.IsSelectionActive" Value="False" />
  32. <Condition Property="IsSelected" Value="True" />
  33. </MultiTrigger.Conditions>
  34. <Setter TargetName="Bd" Property="Background" Value="{StaticResource color.item-state.sel.bg.lv1}" />
  35. <Setter TargetName="Bd" Property="BorderBrush" Value="{StaticResource color.sys.border.accent.lv2}" />
  36. </MultiTrigger>
  37. <MultiTrigger>
  38. <MultiTrigger.Conditions>
  39. <Condition Property="Selector.IsSelectionActive" Value="True" />
  40. <Condition Property="IsSelected" Value="True" />
  41. </MultiTrigger.Conditions>
  42. <Setter TargetName="Bd" Property="Background" Value="{StaticResource color.item-state.sel.bg.lv1}" />
  43. <Setter TargetName="Bd" Property="BorderBrush" Value="{StaticResource color.sys.border.accent.lv2}" />
  44. </MultiTrigger>
  45. <Trigger Property="IsEnabled" Value="False">
  46. <Setter TargetName="Bd" Property="TextElement.Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
  47. </Trigger>
  48. </ControlTemplate.Triggers>
  49. </ControlTemplate>
  50. <ControlTemplate x:Key="EditToolsItemControlTemplate" TargetType="{x:Type ListBoxItem}">
  51. <Border
  52. x:Name="EditToolsBorder"
  53. Width="{TemplateBinding Width}"
  54. Height="{TemplateBinding Height}"
  55. Padding="{TemplateBinding Padding}"
  56. Background="{TemplateBinding Background}"
  57. BorderBrush="{TemplateBinding BorderBrush}"
  58. BorderThickness="{TemplateBinding BorderThickness}"
  59. SnapsToDevicePixels="True">
  60. <ContentPresenter
  61. Content="{TemplateBinding Content}"
  62. ContentStringFormat="{TemplateBinding ContentStringFormat}"
  63. ContentTemplate="{TemplateBinding ContentTemplate}"
  64. SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
  65. </Border>
  66. <ControlTemplate.Triggers>
  67. <MultiTrigger>
  68. <MultiTrigger.Conditions>
  69. <Condition Property="IsMouseOver" Value="True" />
  70. </MultiTrigger.Conditions>
  71. <Setter TargetName="EditToolsBorder" Property="Background" Value="#1A477EDE" />
  72. <Setter TargetName="EditToolsBorder" Property="BorderBrush" Value="Black" />
  73. </MultiTrigger>
  74. <MultiTrigger>
  75. <MultiTrigger.Conditions>
  76. <Condition Property="Selector.IsSelectionActive" Value="True" />
  77. <Condition Property="IsSelected" Value="True" />
  78. </MultiTrigger.Conditions>
  79. <Setter TargetName="EditToolsBorder" Property="Background" Value="#1A477EDE" />
  80. <Setter TargetName="EditToolsBorder" Property="BorderBrush" Value="Black" />
  81. </MultiTrigger>
  82. <Trigger Property="IsEnabled" Value="False">
  83. <Setter TargetName="EditToolsBorder" Property="TextElement.Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
  84. </Trigger>
  85. </ControlTemplate.Triggers>
  86. </ControlTemplate>
  87. </ResourceDictionary>