CustomBtnStyle.xaml 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388
  1. <ResourceDictionary
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:customControl="clr-namespace:PDF_Office.CustomControl">
  5. <SolidColorBrush x:Key="Common.Border" Color="#FF273C62" />
  6. <SolidColorBrush x:Key="Common.ForGround.Blue" Color="#FF273C62" />
  7. <SolidColorBrush x:Key="Common.ForGround.Black" Color="#FF000000" />
  8. <SolidColorBrush x:Key="Button.Static.Background" Color="#273C62" />
  9. <SolidColorBrush x:Key="Button.Static.Border" Color="#FF273C62" />
  10. <SolidColorBrush x:Key="Button.MouseOver.Background" Color="#1A477EDE" />
  11. <SolidColorBrush x:Key="Button.MouseOver.Border" Color="#273C62" />
  12. <SolidColorBrush x:Key="Button.Pressed.Background" Color="#29477EDE" />
  13. <SolidColorBrush x:Key="Button.Pressed.Border" Color="#FF2C628B" />
  14. <SolidColorBrush x:Key="Button.Disabled.Background" Color="#273C62" />
  15. <SolidColorBrush x:Key="Button.Disabled.Border" Color="#273C62" />
  16. <SolidColorBrush x:Key="Button.Disabled.Foreground" Color="#26FFFFFF" />
  17. <SolidColorBrush x:Key="CloseButton.MouseOver.Foreground" Color="Red" />
  18. <SolidColorBrush x:Key="Disabled.ForeGround" Color="#FFE2E3E6" />
  19. <SolidColorBrush x:Key="BlueBtn.Mouseover.Background" Color="#31538D" />
  20. <SolidColorBrush x:Key="BlueBtn.Pressed.Background" Color="#1B2944" />
  21. <SolidColorBrush x:Key="Redact.Background" Color="#477EDE" />
  22. <Style x:Key="ToggleBtnViewModeStyle" TargetType="customControl:CustomIconToggleBtn">
  23. <Setter Property="Background" Value="{StaticResource Button.Static.Background}" />
  24. <Setter Property="BorderBrush" Value="{StaticResource Button.Static.Border}" />
  25. <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" />
  26. <Setter Property="BorderThickness" Value="0" />
  27. <Setter Property="HorizontalContentAlignment" Value="Center" />
  28. <Setter Property="Height" Value="40" />
  29. <Setter Property="Margin" Value="4,0,4,0" />
  30. <Setter Property="Template">
  31. <Setter.Value>
  32. <ControlTemplate TargetType="customControl:CustomIconToggleBtn">
  33. <Border
  34. x:Name="border"
  35. Background="{TemplateBinding Background}"
  36. BorderBrush="{TemplateBinding BorderBrush}"
  37. BorderThickness="{TemplateBinding BorderThickness}"
  38. SnapsToDevicePixels="true">
  39. <Grid>
  40. <Grid
  41. Width="40"
  42. Height="40"
  43. HorizontalAlignment="Center"
  44. VerticalAlignment="Center">
  45. <Image
  46. x:Name="ImageIcon"
  47. Width="20"
  48. Height="20"
  49. Source="{Binding Icon, RelativeSource={RelativeSource Mode=TemplatedParent}}"
  50. Visibility="Collapsed" />
  51. </Grid>
  52. <ContentPresenter
  53. x:Name="contentPresenter"
  54. Margin="{TemplateBinding Padding}"
  55. HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
  56. VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
  57. Focusable="False"
  58. RecognizesAccessKey="True"
  59. SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
  60. </Grid>
  61. </Border>
  62. <ControlTemplate.Triggers>
  63. <Trigger Property="IsMouseOver" Value="true">
  64. <Setter TargetName="border" Property="Background" Value="{StaticResource Button.MouseOver.Background}" />
  65. <Setter TargetName="border" Property="BorderBrush" Value="{StaticResource Button.MouseOver.Border}" />
  66. </Trigger>
  67. <Trigger Property="IsPressed" Value="true">
  68. <Setter TargetName="border" Property="Background" Value="{StaticResource Button.Pressed.Background}" />
  69. <Setter TargetName="border" Property="BorderBrush" Value="{StaticResource Button.Pressed.Border}" />
  70. </Trigger>
  71. <Trigger Property="IsEnabled" Value="false">
  72. <Setter TargetName="border" Property="Background" Value="{StaticResource Button.Disabled.Background}" />
  73. <Setter TargetName="border" Property="BorderBrush" Value="{StaticResource Button.Disabled.Border}" />
  74. <Setter TargetName="contentPresenter" Property="TextElement.Foreground" Value="{StaticResource Button.Disabled.Foreground}" />
  75. <Setter TargetName="contentPresenter" Property="Opacity" Value="0.5" />
  76. </Trigger>
  77. </ControlTemplate.Triggers>
  78. </ControlTemplate>
  79. </Setter.Value>
  80. </Setter>
  81. <Style.Triggers>
  82. <Trigger Property="IsChecked" Value="True">
  83. <Setter Property="Background" Value="{StaticResource Button.Pressed.Background}" />
  84. </Trigger>
  85. <Trigger Property="IsChecked" Value="False">
  86. <Setter Property="Background" Value="Transparent" />
  87. </Trigger>
  88. <Trigger Property="IsChecked" Value="{x:Null}">
  89. <Setter Property="Background" Value="Transparent" />
  90. </Trigger>
  91. </Style.Triggers>
  92. </Style>
  93. <SolidColorBrush
  94. x:Key="Button.Select.Background"
  95. Opacity="0.1"
  96. Color="#1770F4" />
  97. <SolidColorBrush x:Key="Button.SelectForeground.Background" Color="#1770F4" />
  98. <Style x:Key="ToggleBtnSelectStyle" TargetType="customControl:CustomIconToggleBtn">
  99. <Setter Property="Background" Value="{StaticResource Button.Static.Background}" />
  100. <Setter Property="BorderBrush" Value="{StaticResource Button.Static.Border}" />
  101. <Setter Property="Foreground" Value="#8F96A7" />
  102. <Setter Property="BorderThickness" Value="0" />
  103. <Setter Property="HorizontalContentAlignment" Value="Center" />
  104. <Setter Property="Height" Value="40" />
  105. <Setter Property="Margin" Value="4,0,4,0" />
  106. <Setter Property="Template">
  107. <Setter.Value>
  108. <ControlTemplate TargetType="customControl:CustomIconToggleBtn">
  109. <Border
  110. x:Name="border"
  111. Background="{TemplateBinding Background}"
  112. BorderBrush="{TemplateBinding BorderBrush}"
  113. BorderThickness="{TemplateBinding BorderThickness}"
  114. CornerRadius="4"
  115. SnapsToDevicePixels="true">
  116. <Grid>
  117. <Grid
  118. Width="40"
  119. Height="40"
  120. HorizontalAlignment="Center"
  121. VerticalAlignment="Center">
  122. <Image
  123. x:Name="ImageIcon"
  124. Width="20"
  125. Height="20"
  126. Source="{Binding Icon, RelativeSource={RelativeSource Mode=TemplatedParent}}"
  127. Visibility="Collapsed" />
  128. </Grid>
  129. <ContentPresenter
  130. x:Name="contentPresenter"
  131. Margin="{TemplateBinding Padding}"
  132. HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
  133. VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
  134. Focusable="False"
  135. RecognizesAccessKey="True"
  136. SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
  137. </Grid>
  138. </Border>
  139. <ControlTemplate.Triggers>
  140. <Trigger Property="IsMouseOver" Value="true">
  141. <Setter TargetName="border" Property="Background" Value="{StaticResource Button.MouseOver.Background}" />
  142. <Setter TargetName="border" Property="BorderBrush" Value="{StaticResource Button.MouseOver.Border}" />
  143. </Trigger>
  144. <Trigger Property="IsPressed" Value="true">
  145. <Setter TargetName="border" Property="Background" Value="{StaticResource Button.Pressed.Background}" />
  146. <Setter TargetName="border" Property="BorderBrush" Value="{StaticResource Button.Pressed.Border}" />
  147. </Trigger>
  148. <Trigger Property="IsEnabled" Value="false">
  149. <Setter TargetName="border" Property="Background" Value="{StaticResource Button.Disabled.Background}" />
  150. <Setter TargetName="border" Property="BorderBrush" Value="{StaticResource Button.Disabled.Border}" />
  151. <Setter TargetName="contentPresenter" Property="TextElement.Foreground" Value="{StaticResource Button.Disabled.Foreground}" />
  152. <Setter TargetName="contentPresenter" Property="Opacity" Value="0.5" />
  153. </Trigger>
  154. </ControlTemplate.Triggers>
  155. </ControlTemplate>
  156. </Setter.Value>
  157. </Setter>
  158. <Style.Triggers>
  159. <Trigger Property="IsChecked" Value="True">
  160. <Setter Property="Background" Value="{StaticResource Button.Select.Background}" />
  161. <Setter Property="Foreground" Value="{StaticResource Button.SelectForeground.Background}" />
  162. </Trigger>
  163. <Trigger Property="IsChecked" Value="False">
  164. <Setter Property="Background" Value="Transparent" />
  165. </Trigger>
  166. <Trigger Property="IsChecked" Value="{x:Null}">
  167. <Setter Property="Background" Value="Transparent" />
  168. </Trigger>
  169. </Style.Triggers>
  170. </Style>
  171. <Style x:Key="BlueBtnStyle" TargetType="{x:Type Button}">
  172. <Setter Property="Background" Value="#1460F3" />
  173. <Setter Property="Template">
  174. <Setter.Value>
  175. <ControlTemplate TargetType="{x:Type Button}">
  176. <Border
  177. x:Name="border"
  178. Background="{TemplateBinding Background}"
  179. BorderBrush="{TemplateBinding BorderBrush}"
  180. BorderThickness="{TemplateBinding BorderThickness}"
  181. CornerRadius="4"
  182. SnapsToDevicePixels="true">
  183. <ContentPresenter
  184. x:Name="contentPresenter"
  185. Margin="{TemplateBinding Padding}"
  186. HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
  187. VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
  188. Focusable="False"
  189. RecognizesAccessKey="True"
  190. SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
  191. </Border>
  192. <ControlTemplate.Triggers>
  193. <Trigger Property="IsMouseOver" Value="true">
  194. <Setter TargetName="border" Property="Background" Value="{StaticResource BlueBtn.Mouseover.Background}" />
  195. </Trigger>
  196. <Trigger Property="IsPressed" Value="true">
  197. <Setter TargetName="border" Property="Background" Value="{StaticResource BlueBtn.Pressed.Background}" />
  198. </Trigger>
  199. <Trigger Property="IsEnabled" Value="false">
  200. <Setter TargetName="border" Property="Background" Value="#33000000" />
  201. <Setter TargetName="border" Property="BorderBrush" Value="{StaticResource Button.Disabled.Border}" />
  202. <Setter TargetName="contentPresenter" Property="TextElement.Foreground" Value="#FF999999" />
  203. <Setter TargetName="contentPresenter" Property="Opacity" Value="0.5" />
  204. </Trigger>
  205. </ControlTemplate.Triggers>
  206. </ControlTemplate>
  207. </Setter.Value>
  208. </Setter>
  209. </Style>
  210. <Style x:Key="InsideBarBtnStyle" TargetType="{x:Type Button}">
  211. <Setter Property="Background" Value="Transparent" />
  212. <Setter Property="BorderBrush" Value="Transparent" />
  213. <Setter Property="Width" Value="auto" />
  214. <Setter Property="Height" Value="40" />
  215. <Setter Property="Template">
  216. <Setter.Value>
  217. <ControlTemplate TargetType="{x:Type Button}">
  218. <Border
  219. x:Name="border"
  220. Background="{TemplateBinding Background}"
  221. BorderBrush="{TemplateBinding BorderBrush}"
  222. BorderThickness="0,0,0,0"
  223. SnapsToDevicePixels="true">
  224. <ContentPresenter
  225. x:Name="contentPresenter"
  226. Margin="{TemplateBinding Padding}"
  227. HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
  228. VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
  229. Focusable="False"
  230. RecognizesAccessKey="True"
  231. SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
  232. </Border>
  233. <ControlTemplate.Triggers>
  234. <Trigger Property="IsMouseOver" Value="true">
  235. <Setter TargetName="border" Property="Background" Value="#1A000000" />
  236. <Setter TargetName="border" Property="BorderBrush" Value="gray" />
  237. </Trigger>
  238. <Trigger Property="IsPressed" Value="true">
  239. <Setter TargetName="border" Property="Background" Value="#26000000" />
  240. <Setter TargetName="border" Property="BorderBrush" Value="gray" />
  241. </Trigger>
  242. <Trigger Property="IsEnabled" Value="false">
  243. <Setter TargetName="border" Property="Background" Value="Transparent" />
  244. <Setter TargetName="border" Property="BorderBrush" Value="#33000000" />
  245. <Setter TargetName="contentPresenter" Property="TextElement.Foreground" Value="#FF999999" />
  246. <Setter TargetName="contentPresenter" Property="Opacity" Value="0.4" />
  247. </Trigger>
  248. </ControlTemplate.Triggers>
  249. </ControlTemplate>
  250. </Setter.Value>
  251. </Setter>
  252. </Style>
  253. <Style x:Key="CompressBtn" TargetType="Button">
  254. <Setter Property="Background" Value="White" />
  255. <Setter Property="BorderBrush" Value="White" />
  256. <Setter Property="Width" Value="528" />
  257. <Setter Property="Height" Value="64" />
  258. <Setter Property="HorizontalAlignment" Value="Center" />
  259. <Setter Property="Template">
  260. <Setter.Value>
  261. <ControlTemplate TargetType="{x:Type Button}">
  262. <Border
  263. x:Name="border"
  264. Background="{TemplateBinding Background}"
  265. BorderBrush="Black"
  266. BorderThickness="1,1,1,1"
  267. CornerRadius="7,7,7,7"
  268. SnapsToDevicePixels="true">
  269. <ContentPresenter
  270. x:Name="contentPresenter"
  271. Margin="{TemplateBinding Padding}"
  272. HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
  273. VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
  274. Focusable="False"
  275. RecognizesAccessKey="True"
  276. SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
  277. </Border>
  278. <ControlTemplate.Triggers>
  279. <Trigger Property="IsMouseOver" Value="true">
  280. <Setter TargetName="border" Property="Background" Value="#1A000000" />
  281. <Setter TargetName="border" Property="BorderBrush" Value="gray" />
  282. </Trigger>
  283. <Trigger Property="IsPressed" Value="true">
  284. <Setter TargetName="border" Property="Background" Value="#26000000" />
  285. <Setter TargetName="border" Property="BorderBrush" Value="gray" />
  286. </Trigger>
  287. <Trigger Property="IsEnabled" Value="false">
  288. <Setter TargetName="border" Property="Background" Value="Transparent" />
  289. <Setter TargetName="border" Property="BorderBrush" Value="#33000000" />
  290. <Setter TargetName="contentPresenter" Property="TextElement.Foreground" Value="#FF999999" />
  291. <Setter TargetName="contentPresenter" Property="Opacity" Value="0.4" />
  292. </Trigger>
  293. </ControlTemplate.Triggers>
  294. </ControlTemplate>
  295. </Setter.Value>
  296. </Setter>
  297. </Style>
  298. <SolidColorBrush x:Key="RadioButton.MouseOver.Background" Color="#1A000000" />
  299. <SolidColorBrush x:Key="RadioButton.MouseOver.Border" Color="#FF5593FF" />
  300. <SolidColorBrush x:Key="RadioButton.MouseOver.Glyph" Color="#FFF3F9FF" />
  301. <SolidColorBrush x:Key="RadioButton.Disabled.Background" Color="#00000000" />
  302. <SolidColorBrush x:Key="RadioButton.Disabled.Border" Color="#FFBCBCBC" />
  303. <SolidColorBrush x:Key="RadioButton.Disabled.Glyph" Color="#FF707070" />
  304. <SolidColorBrush x:Key="RadioButton.Pressed.Background" Color="#26000000" />
  305. <SolidColorBrush x:Key="RadioButton.Pressed.Border" Color="#FF3C77DD" />
  306. <SolidColorBrush x:Key="RadioButton.Pressed.Glyph" Color="#1A477EDE" />
  307. <SolidColorBrush x:Key="RadioButton.Static.Glyph" Color="#FF212121" />
  308. <SolidColorBrush x:Key="RadioButton.Static.Background" Color="#FFFFFFFF" />
  309. <SolidColorBrush x:Key="RadioButton.Static.Border" Color="#FF707070" />
  310. <!-- 自定义形状的单选按钮 -->
  311. <Style x:Key="RectangleRadionButton" TargetType="{x:Type RadioButton}">
  312. <Setter Property="Background" Value="{StaticResource RadioButton.Static.Background}" />
  313. <Setter Property="BorderBrush" Value="{StaticResource RadioButton.Static.Border}" />
  314. <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" />
  315. <Setter Property="BorderThickness" Value="0" />
  316. <Setter Property="Width" Value="72" />
  317. <Setter Property="Height" Value="80" />
  318. <Setter Property="HorizontalContentAlignment" Value="Center" />
  319. <Setter Property="VerticalContentAlignment" Value="Center" />
  320. <Setter Property="Template">
  321. <Setter.Value>
  322. <ControlTemplate TargetType="{x:Type RadioButton}">
  323. <Grid
  324. x:Name="templateRoot"
  325. Background="Transparent"
  326. SnapsToDevicePixels="True">
  327. <Border
  328. x:Name="radioButtonBorder"
  329. HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
  330. VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
  331. Background="{TemplateBinding Background}"
  332. BorderBrush="{TemplateBinding BorderBrush}"
  333. BorderThickness="{TemplateBinding BorderThickness}">
  334. <Rectangle
  335. x:Name="optionMark"
  336. Width="{TemplateBinding Width}"
  337. Height="{TemplateBinding Height}"
  338. Opacity="0" />
  339. </Border>
  340. <ContentPresenter
  341. x:Name="contentPresenter"
  342. Margin="{TemplateBinding Padding}"
  343. HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
  344. VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
  345. Focusable="False"
  346. RecognizesAccessKey="True"
  347. SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
  348. </Grid>
  349. <ControlTemplate.Triggers>
  350. <Trigger Property="IsMouseOver" Value="true">
  351. <Setter TargetName="radioButtonBorder" Property="Background" Value="{StaticResource RadioButton.MouseOver.Background}" />
  352. <Setter TargetName="radioButtonBorder" Property="BorderBrush" Value="{StaticResource RadioButton.MouseOver.Border}" />
  353. <Setter TargetName="optionMark" Property="Fill" Value="{StaticResource RadioButton.MouseOver.Glyph}" />
  354. </Trigger>
  355. <Trigger Property="IsEnabled" Value="false">
  356. <Setter TargetName="radioButtonBorder" Property="Background" Value="{StaticResource RadioButton.Disabled.Background}" />
  357. <Setter TargetName="radioButtonBorder" Property="BorderBrush" Value="{StaticResource RadioButton.Disabled.Border}" />
  358. <Setter TargetName="optionMark" Property="Fill" Value="{StaticResource RadioButton.Disabled.Glyph}" />
  359. </Trigger>
  360. <Trigger Property="IsPressed" Value="true">
  361. <Setter TargetName="radioButtonBorder" Property="Background" Value="{StaticResource RadioButton.Pressed.Background}" />
  362. <Setter TargetName="radioButtonBorder" Property="BorderBrush" Value="{StaticResource RadioButton.Pressed.Border}" />
  363. <Setter TargetName="optionMark" Property="Fill" Value="{StaticResource RadioButton.Pressed.Glyph}" />
  364. </Trigger>
  365. <Trigger Property="IsChecked" Value="true">
  366. <Setter TargetName="optionMark" Property="Opacity" Value="1" />
  367. <Setter TargetName="optionMark" Property="Fill" Value="{StaticResource RadioButton.Pressed.Glyph}" />
  368. </Trigger>
  369. <Trigger Property="IsChecked" Value="{x:Null}">
  370. <Setter TargetName="optionMark" Property="Opacity" Value="0.56" />
  371. </Trigger>
  372. </ControlTemplate.Triggers>
  373. </ControlTemplate>
  374. </Setter.Value>
  375. </Setter>
  376. </Style>
  377. </ResourceDictionary>