ButtonStyle.xaml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  2. <Style x:Key="FocusVisual">
  3. <Setter Property="Control.Template">
  4. <Setter.Value>
  5. <ControlTemplate>
  6. <Rectangle
  7. Margin="2"
  8. SnapsToDevicePixels="true"
  9. Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"
  10. StrokeDashArray="1 2"
  11. StrokeThickness="1" />
  12. </ControlTemplate>
  13. </Setter.Value>
  14. </Setter>
  15. </Style>
  16. <Style x:Key="TitleBarBtn" TargetType="{x:Type Button}">
  17. <Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}" />
  18. <Setter Property="Background" Value="{StaticResource Button.Static.Background}" />
  19. <Setter Property="BorderBrush" Value="{StaticResource Button.Static.Border}" />
  20. <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" />
  21. <Setter Property="BorderThickness" Value="0" />
  22. <Setter Property="HorizontalContentAlignment" Value="Center" />
  23. <Setter Property="VerticalContentAlignment" Value="Center" />
  24. <Setter Property="Padding" Value="0" />
  25. <Setter Property="Width" Value="32" />
  26. <Setter Property="Height" Value="32" />
  27. <Setter Property="IsTabStop" Value="False" />
  28. <Setter Property="Template">
  29. <Setter.Value>
  30. <ControlTemplate TargetType="{x:Type Button}">
  31. <Border
  32. x:Name="border"
  33. Background="{TemplateBinding Background}"
  34. BorderBrush="{TemplateBinding BorderBrush}"
  35. BorderThickness="{TemplateBinding BorderThickness}"
  36. SnapsToDevicePixels="true">
  37. <ContentPresenter
  38. x:Name="contentPresenter"
  39. Margin="{TemplateBinding Padding}"
  40. HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
  41. VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
  42. Focusable="False"
  43. RecognizesAccessKey="True"
  44. SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
  45. </Border>
  46. <ControlTemplate.Triggers>
  47. <Trigger Property="IsMouseOver" Value="true">
  48. <Setter TargetName="border" Property="Background" Value="{StaticResource Button.MouseOver.Background}" />
  49. <Setter TargetName="border" Property="BorderBrush" Value="{StaticResource Button.MouseOver.Border}" />
  50. </Trigger>
  51. <Trigger Property="IsPressed" Value="true">
  52. <Setter TargetName="border" Property="Background" Value="{StaticResource Button.Pressed.Background}" />
  53. <Setter TargetName="border" Property="BorderBrush" Value="{StaticResource Button.Pressed.Border}" />
  54. </Trigger>
  55. <Trigger Property="IsEnabled" Value="false">
  56. <Setter TargetName="border" Property="Background" Value="{StaticResource Button.Disabled.Background}" />
  57. <Setter TargetName="border" Property="BorderBrush" Value="{StaticResource Button.Disabled.Border}" />
  58. <Setter TargetName="contentPresenter" Property="TextElement.Foreground" Value="{StaticResource Button.Disabled.Foreground}" />
  59. <Setter TargetName="contentPresenter" Property="Opacity" Value="0.5" />
  60. </Trigger>
  61. </ControlTemplate.Triggers>
  62. </ControlTemplate>
  63. </Setter.Value>
  64. </Setter>
  65. </Style>
  66. <!-- 阅读模式的按钮模板样式 -->
  67. <ControlTemplate x:Key="zoomout" TargetType="{x:Type ButtonBase}">
  68. <Border
  69. Name="border"
  70. Background="{TemplateBinding Panel.Background}"
  71. BorderBrush="{TemplateBinding Border.BorderBrush}"
  72. BorderThickness="{TemplateBinding Border.BorderThickness}"
  73. SnapsToDevicePixels="True">
  74. <Path
  75. Name="content"
  76. Width="16"
  77. Height="16"
  78. HorizontalAlignment="Center"
  79. VerticalAlignment="Center"
  80. Data="M6.5,0 C10.0898509,0 13,2.91014913 13,6.5 C13,8.1223907 12.4056075,9.60595359 11.4227096,10.7448016 L15.5,14.8210176 L14.8210176,15.5 L10.7448016,11.4227096 C9.60595359,12.4056075 8.1223907,13 6.5,13 C2.91014913,13 0,10.0898509 0,6.5 C0,2.91014913 2.91014913,0 6.5,0 Z M6.5,1 C3.46243388,1 1,3.46243388 1,6.5 C1,9.53756612 3.46243388,12 6.5,12 C9.53756612,12 12,9.53756612 12,6.5 C12,3.46243388 9.53756612,1 6.5,1 Z M10,6 L10,7 L3,7 L3,6 L10,6 Z"
  81. Fill="White" />
  82. </Border>
  83. <ControlTemplate.Triggers>
  84. <Trigger Property="Button.IsDefaulted" Value="True">
  85. <Setter TargetName="content" Property="Path.Fill" Value="White" />
  86. </Trigger>
  87. <Trigger Property="UIElement.IsMouseOver" Value="True">
  88. <Setter TargetName="content" Property="Path.Fill" Value="#B3FFFFFF" />
  89. </Trigger>
  90. <Trigger Property="ButtonBase.IsPressed" Value="True">
  91. <Setter TargetName="content" Property="Path.Fill" Value="#80FFFFFF" />
  92. </Trigger>
  93. </ControlTemplate.Triggers>
  94. </ControlTemplate>
  95. <ControlTemplate x:Key="zoomin" TargetType="{x:Type ButtonBase}">
  96. <Border
  97. Name="border"
  98. Background="{TemplateBinding Panel.Background}"
  99. BorderBrush="{TemplateBinding Border.BorderBrush}"
  100. BorderThickness="{TemplateBinding Border.BorderThickness}"
  101. SnapsToDevicePixels="True">
  102. <Path
  103. Name="content"
  104. Width="16"
  105. Height="16"
  106. HorizontalAlignment="Center"
  107. VerticalAlignment="Center"
  108. Data="M6.5,0 C10.0898509,0 13,2.91014913 13,6.5 C13,8.1223907 12.4056075,9.60595359 11.4227096,10.7448016 L15.5,14.8210176 L14.8210176,15.5 L10.7448016,11.4227096 C9.60595359,12.4056075 8.1223907,13 6.5,13 C2.91014913,13 0,10.0898509 0,6.5 C0,2.91014913 2.91014913,0 6.5,0 Z M6.5,1 C3.46243388,1 1,3.46243388 1,6.5 C1,9.53756612 3.46243388,12 6.5,12 C9.53756612,12 12,9.53756612 12,6.5 C12,3.46243388 9.53756612,1 6.5,1 Z M7,3 L7,6 L10,6 L10,7 L7,7 L7,10 L6,10 L6,7 L3,7 L3,6 L6,6 L6,3 L7,3 Z"
  109. Fill="White" />
  110. </Border>
  111. <ControlTemplate.Triggers>
  112. <Trigger Property="Button.IsDefaulted" Value="True">
  113. <Setter TargetName="content" Property="Path.Fill" Value="White" />
  114. </Trigger>
  115. <Trigger Property="UIElement.IsMouseOver" Value="True">
  116. <Setter TargetName="content" Property="Path.Fill" Value="#B3FFFFFF" />
  117. </Trigger>
  118. <Trigger Property="ButtonBase.IsPressed" Value="True">
  119. <Setter TargetName="content" Property="Path.Fill" Value="#80FFFFFF" />
  120. </Trigger>
  121. </ControlTemplate.Triggers>
  122. </ControlTemplate>
  123. <ControlTemplate x:Key="prepage" TargetType="{x:Type ButtonBase}">
  124. <Border
  125. Name="border"
  126. Background="{TemplateBinding Panel.Background}"
  127. BorderBrush="{TemplateBinding Border.BorderBrush}"
  128. BorderThickness="0"
  129. SnapsToDevicePixels="True">
  130. <Polygon
  131. Name="content"
  132. Width="16"
  133. Height="16"
  134. HorizontalAlignment="Center"
  135. VerticalAlignment="Center"
  136. Fill="White"
  137. Points="10.2999705 2.5 11 3.22644971 6.39995321 8 11 12.7735503 10.2999705 13.5 5 8" />
  138. </Border>
  139. <ControlTemplate.Triggers>
  140. <Trigger Property="Button.IsDefaulted" Value="True">
  141. <Setter TargetName="content" Property="Path.Fill" Value="White" />
  142. </Trigger>
  143. <Trigger Property="UIElement.IsMouseOver" Value="True">
  144. <Setter TargetName="content" Property="Path.Fill" Value="#B3FFFFFF" />
  145. </Trigger>
  146. <Trigger Property="ButtonBase.IsPressed" Value="True">
  147. <Setter TargetName="content" Property="Path.Fill" Value="#80FFFFFF" />
  148. </Trigger>
  149. </ControlTemplate.Triggers>
  150. </ControlTemplate>
  151. <ControlTemplate x:Key="nextpage" TargetType="{x:Type ButtonBase}">
  152. <Border
  153. Name="border"
  154. Background="{TemplateBinding Panel.Background}"
  155. BorderBrush="{TemplateBinding Border.BorderBrush}"
  156. BorderThickness="0"
  157. SnapsToDevicePixels="True">
  158. <Polygon
  159. x:Name="content"
  160. Width="16"
  161. Height="16"
  162. Fill="White"
  163. Points="10.2999705 2.5 11 3.22644971 6.39995321 8 11 12.7735503 10.2999705 13.5 5 8">
  164. <Polygon.RenderTransform>
  165. <TransformGroup>
  166. <TranslateTransform X="-8" Y="8" />
  167. <ScaleTransform ScaleX="-1" ScaleY="1" />
  168. <TranslateTransform X="8" Y="-8" />
  169. </TransformGroup>
  170. </Polygon.RenderTransform>
  171. </Polygon>
  172. </Border>
  173. <ControlTemplate.Triggers>
  174. <Trigger Property="Button.IsDefaulted" Value="True">
  175. <Setter TargetName="content" Property="Path.Fill" Value="White" />
  176. </Trigger>
  177. <Trigger Property="UIElement.IsMouseOver" Value="True">
  178. <Setter TargetName="content" Property="Path.Fill" Value="#B3FFFFFF" />
  179. </Trigger>
  180. <Trigger Property="ButtonBase.IsPressed" Value="True">
  181. <Setter TargetName="content" Property="Path.Fill" Value="#80FFFFFF" />
  182. </Trigger>
  183. </ControlTemplate.Triggers>
  184. </ControlTemplate>
  185. <SolidColorBrush x:Key="BOTA.Path.Fill" Color="#000000" />
  186. <Style
  187. x:Key="PageEditToolBtn"
  188. BasedOn="{StaticResource TitleBarBtn}"
  189. TargetType="{x:Type Button}">
  190. <Setter Property="Background" Value="Transparent" />
  191. <Setter Property="BorderBrush" Value="Transparent" />
  192. <Setter Property="Width" Value="auto" />
  193. <Setter Property="Height" Value="40" />
  194. <Setter Property="Template">
  195. <Setter.Value>
  196. <ControlTemplate TargetType="{x:Type Button}">
  197. <Border
  198. x:Name="border"
  199. Background="{TemplateBinding Background}"
  200. BorderBrush="{TemplateBinding BorderBrush}"
  201. BorderThickness="{TemplateBinding BorderThickness}"
  202. SnapsToDevicePixels="true">
  203. <ContentPresenter
  204. x:Name="contentPresenter"
  205. Margin="{TemplateBinding Padding}"
  206. HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
  207. VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
  208. Focusable="False"
  209. RecognizesAccessKey="True"
  210. SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
  211. </Border>
  212. <ControlTemplate.Triggers>
  213. <Trigger Property="IsMouseOver" Value="true">
  214. <Setter TargetName="border" Property="Background" Value="#1A000000" />
  215. <Setter TargetName="border" Property="BorderBrush" Value="{StaticResource Button.MouseOver.Border}" />
  216. </Trigger>
  217. <Trigger Property="IsPressed" Value="true">
  218. <Setter TargetName="border" Property="Background" Value="#26000000" />
  219. <Setter TargetName="border" Property="BorderBrush" Value="{StaticResource Button.Pressed.Border}" />
  220. </Trigger>
  221. <Trigger Property="IsEnabled" Value="false">
  222. <Setter TargetName="border" Property="Background" Value="Transparent" />
  223. <Setter TargetName="border" Property="BorderBrush" Value="#33000000" />
  224. <Setter TargetName="contentPresenter" Property="TextElement.Foreground" Value="#FF999999" />
  225. <Setter TargetName="contentPresenter" Property="Opacity" Value="0.4" />
  226. </Trigger>
  227. </ControlTemplate.Triggers>
  228. </ControlTemplate>
  229. </Setter.Value>
  230. </Setter>
  231. </Style>
  232. </ResourceDictionary>