OtherStyle.xaml 60 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922
  1. <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:sys="clr-namespace:System;assembly=mscorlib">
  4. <Style x:Key="MySliderStyle" TargetType="{x:Type Slider}">
  5. <Setter Property="IsSnapToTickEnabled" Value="True"/>
  6. <Setter Property="TickFrequency" Value="0.01"/>
  7. <Setter Property="Template">
  8. <Setter.Value>
  9. <ControlTemplate TargetType="{x:Type Slider}">
  10. <Grid>
  11. <Grid.ColumnDefinitions>
  12. <ColumnDefinition Width="*"/>
  13. </Grid.ColumnDefinitions>
  14. <Grid Grid.Column="0">
  15. <Rectangle Margin="10,0,10,0" Fill="Gray" Height="4"/>
  16. <!-- Slider的背景 -->
  17. <Track Name="PART_Track" IsDirectionReversed="False">
  18. <Track.Thumb>
  19. <Thumb>
  20. <!-- Slider的滑块 -->
  21. <Thumb.Template>
  22. <ControlTemplate TargetType="{x:Type Thumb}">
  23. <!--<Rectangle Width="14" Height="24" Fill="{StaticResource ThemeColor}"/>-->
  24. <Ellipse Width="16" Height="16" Fill="{StaticResource ThemeColor}" />
  25. <!-- Slider的滑块样式 -->
  26. </ControlTemplate>
  27. </Thumb.Template>
  28. </Thumb>
  29. </Track.Thumb>
  30. <Track.DecreaseRepeatButton>
  31. <RepeatButton Command="Slider.DecreaseLarge">
  32. <!-- 划过的地方 -->
  33. <RepeatButton.Template>
  34. <ControlTemplate TargetType="{x:Type RepeatButton}">
  35. <Rectangle Fill="{StaticResource SubThemeColor}" Height="4"/>
  36. <!-- 划过的地方的样式 -->
  37. </ControlTemplate>
  38. </RepeatButton.Template>
  39. </RepeatButton>
  40. </Track.DecreaseRepeatButton>
  41. <Track.IncreaseRepeatButton>
  42. <RepeatButton Command="Slider.IncreaseLarge">
  43. <RepeatButton.Template>
  44. <ControlTemplate TargetType="{x:Type RepeatButton}">
  45. <Rectangle Fill="Transparent" Height="10"/>
  46. </ControlTemplate>
  47. </RepeatButton.Template>
  48. </RepeatButton>
  49. </Track.IncreaseRepeatButton>
  50. </Track>
  51. </Grid>
  52. </Grid>
  53. </ControlTemplate>
  54. </Setter.Value>
  55. </Setter>
  56. </Style>
  57. <Style x:Key="ThemeProgressBar" TargetType="{x:Type ProgressBar}">
  58. <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
  59. <Setter Property="SnapsToDevicePixels" Value="True"/>
  60. <Setter Property="Height" Value="9"/>
  61. <Setter Property="Background" Value="{StaticResource ThemeColor}"/>
  62. <Setter Property="FontSize" Value="10"/>
  63. <Setter Property="Padding" Value="5,0"/>
  64. <Setter Property="Template">
  65. <Setter.Value>
  66. <ControlTemplate TargetType="{x:Type ProgressBar}">
  67. <Grid Background="#00000000">
  68. <Grid.RowDefinitions>
  69. <RowDefinition Height="Auto"/>
  70. </Grid.RowDefinitions>
  71. <Grid Height="{TemplateBinding Height}">
  72. <Border Background="#000000" CornerRadius="5" Opacity="0.05"/>
  73. <Border BorderBrush="#000000" BorderThickness="0" CornerRadius="5" Opacity="0.1"/>
  74. <Grid Margin="{TemplateBinding BorderThickness}">
  75. <Border x:Name="PART_Track"/>
  76. <Grid x:Name="PART_Indicator" ClipToBounds="True" HorizontalAlignment="Left" >
  77. <Grid x:Name="Animation" RenderTransformOrigin="0.5,0.5">
  78. <Grid.RenderTransform>
  79. <TransformGroup>
  80. <ScaleTransform ScaleY="-1" ScaleX="1"/>
  81. <SkewTransform AngleY="0" AngleX="0"/>
  82. <RotateTransform Angle="180"/>
  83. <TranslateTransform/>
  84. </TransformGroup>
  85. </Grid.RenderTransform>
  86. <Border x:Name="Bor" Background="{TemplateBinding Background}" CornerRadius="5"/>
  87. </Grid>
  88. </Grid>
  89. </Grid>
  90. </Grid>
  91. </Grid>
  92. <ControlTemplate.Triggers>
  93. <Trigger Property="IsEnabled" Value="False">
  94. <Setter Property="Background" Value="{StaticResource ThemeColor}"/>
  95. </Trigger>
  96. </ControlTemplate.Triggers>
  97. </ControlTemplate>
  98. </Setter.Value>
  99. </Setter>
  100. </Style>
  101. <Style x:Key="ListBoxItemContainerStyle1" TargetType="{x:Type ListBoxItem}">
  102. <Setter Property="SnapsToDevicePixels" Value="True"/>
  103. <Setter Property="Padding" Value="0"/>
  104. <Setter Property="HorizontalContentAlignment" Value="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
  105. <Setter Property="VerticalContentAlignment" Value="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
  106. <Setter Property="Background" Value="Transparent"/>
  107. <Setter Property="BorderBrush" Value="Transparent"/>
  108. <Setter Property="BorderThickness" Value="0"/>
  109. <Setter Property="Template">
  110. <Setter.Value>
  111. <ControlTemplate TargetType="{x:Type ListBoxItem}">
  112. <Border x:Name="Bd" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true" Margin="0">
  113. <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
  114. </Border>
  115. <ControlTemplate.Triggers>
  116. <MultiTrigger>
  117. <MultiTrigger.Conditions>
  118. <Condition Property="IsMouseOver" Value="True"/>
  119. </MultiTrigger.Conditions>
  120. <Setter Property="Background" TargetName="Bd" Value="{StaticResource TextColor}"/>
  121. <Setter Property="BorderBrush" TargetName="Bd" Value="{StaticResource TextColor}"/>
  122. </MultiTrigger>
  123. <MultiTrigger>
  124. <MultiTrigger.Conditions>
  125. <Condition Property="Selector.IsSelectionActive" Value="False"/>
  126. <Condition Property="IsSelected" Value="True"/>
  127. </MultiTrigger.Conditions>
  128. <Setter Property="Background" TargetName="Bd" Value="#515355"/>
  129. <Setter Property="BorderBrush" TargetName="Bd" Value="#515355"/>
  130. </MultiTrigger>
  131. <MultiTrigger>
  132. <MultiTrigger.Conditions>
  133. <Condition Property="Selector.IsSelectionActive" Value="True"/>
  134. <Condition Property="IsSelected" Value="True"/>
  135. </MultiTrigger.Conditions>
  136. <Setter Property="Background" TargetName="Bd" Value="#515355"/>
  137. <Setter Property="BorderBrush" TargetName="Bd" Value="#515355"/>
  138. </MultiTrigger>
  139. </ControlTemplate.Triggers>
  140. </ControlTemplate>
  141. </Setter.Value>
  142. </Setter>
  143. </Style>
  144. <Style x:Key="Tab" TargetType="{x:Type TabControl}">
  145. <Setter Property="TabStripPlacement" Value="Top" />
  146. <Setter Property="Margin" Value="2" />
  147. <Setter Property="Padding" Value="2" />
  148. <Setter Property="Background" Value="White" />
  149. <Setter Property="Template">
  150. <Setter.Value>
  151. <ControlTemplate TargetType="{x:Type TabControl}">
  152. <Grid ClipToBounds="True" SnapsToDevicePixels="True" KeyboardNavigation.TabNavigation="Local">
  153. <Grid.ColumnDefinitions>
  154. <ColumnDefinition Name="ColumnDefinition0" />
  155. <ColumnDefinition Width="0" Name="ColumnDefinition1" />
  156. </Grid.ColumnDefinitions>
  157. <Grid.RowDefinitions>
  158. <RowDefinition Height="Auto" Name="RowDefinition0" />
  159. <RowDefinition Height="*" Name="RowDefinition1" />
  160. </Grid.RowDefinitions>
  161. <Border x:Name="HeaderBorder"
  162. BorderBrush="{StaticResource TextColor}"
  163. BorderThickness="0,0,0,1"
  164. Background="#FAFAFA"
  165. Margin="0,0">
  166. <TabPanel IsItemsHost="True"
  167. Name="HeaderPanel"
  168. Panel.ZIndex="1"
  169. KeyboardNavigation.TabIndex="1"
  170. Grid.Column="0"
  171. Grid.Row="0" />
  172. </Border>
  173. <Grid Name="ContentPanel"
  174. KeyboardNavigation.TabIndex="2"
  175. KeyboardNavigation.TabNavigation="Local"
  176. KeyboardNavigation.DirectionalNavigation="Continue"
  177. Grid.Column="0"
  178. Grid.Row="1">
  179. <Border Background="{TemplateBinding Background}"
  180. BorderBrush="{TemplateBinding BorderBrush}"
  181. BorderThickness="{TemplateBinding BorderThickness}"
  182. CornerRadius="5">
  183. <ContentPresenter Content="{TemplateBinding SelectedContent}"
  184. ContentTemplate="{TemplateBinding SelectedContentTemplate}"
  185. ContentStringFormat="{TemplateBinding SelectedContentStringFormat}"
  186. ContentSource="SelectedContent"
  187. Name="PART_SelectedContentHost"
  188. Margin="2"
  189. SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}"
  190. />
  191. </Border>
  192. </Grid>
  193. </Grid>
  194. <ControlTemplate.Triggers>
  195. <Trigger Property="TabControl.TabStripPlacement" Value="Bottom">
  196. <Setter TargetName="HeaderPanel" Property="Grid.Row" Value="1" />
  197. <Setter TargetName="ContentPanel" Property="Grid.Row" Value="0" />
  198. <Setter TargetName="RowDefinition0" Property="RowDefinition.Height" Value="*" />
  199. <Setter TargetName="RowDefinition1" Property="RowDefinition.Height" Value="Auto" />
  200. <Setter TargetName="HeaderBorder" Property="FrameworkElement.Margin" Value="0,5,0,0" />
  201. </Trigger>
  202. <Trigger Property="TabControl.TabStripPlacement" Value="Left">
  203. <Setter TargetName="HeaderPanel" Property="Grid.Row" Value="0" />
  204. <Setter TargetName="ContentPanel" Property="Grid.Row" Value="0" />
  205. <Setter TargetName="HeaderPanel" Property="Grid.Column" Value="0" />
  206. <Setter TargetName="ContentPanel" Property="Grid.Column" Value="1" />
  207. <Setter TargetName="ColumnDefinition0" Property="ColumnDefinition.Width" Value="Auto" />
  208. <Setter TargetName="ColumnDefinition1" Property="ColumnDefinition.Width" Value="*" />
  209. <Setter TargetName="RowDefinition0" Property="RowDefinition.Height" Value="*" />
  210. <Setter TargetName="RowDefinition1" Property="RowDefinition.Height" Value="0" />
  211. <Setter TargetName="HeaderBorder" Property="FrameworkElement.Margin" Value="0,0,5,0" />
  212. </Trigger>
  213. <Trigger Property="TabControl.TabStripPlacement" Value="Right">
  214. <Setter TargetName="HeaderPanel" Property="Grid.Row" Value="0" />
  215. <Setter TargetName="ContentPanel" Property="Grid.Row" Value="0" />
  216. <Setter TargetName="HeaderPanel" Property="Grid.Column" Value="1" />
  217. <Setter TargetName="ContentPanel" Property="Grid.Column" Value="0" />
  218. <Setter TargetName="ColumnDefinition0" Property="ColumnDefinition.Width" Value="*" />
  219. <Setter TargetName="ColumnDefinition1" Property="ColumnDefinition.Width" Value="Auto" />
  220. <Setter TargetName="RowDefinition0" Property="RowDefinition.Height" Value="*" />
  221. <Setter TargetName="RowDefinition1" Property="RowDefinition.Height" Value="0" />
  222. <Setter TargetName="HeaderBorder" Property="FrameworkElement.Margin" Value="5,0,0,0" />
  223. </Trigger>
  224. <Trigger Property="UIElement.IsEnabled" Value="False">
  225. <Setter Property="TextElement.Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
  226. </Trigger>
  227. </ControlTemplate.Triggers>
  228. </ControlTemplate>
  229. </Setter.Value>
  230. </Setter>
  231. </Style>
  232. <Style x:Key="TabTheme" TargetType="{x:Type TabItem}">
  233. <Setter Property="Background" Value="Transparent" />
  234. <Setter Property="BorderBrush" Value="{StaticResource ThemeColor}"/>
  235. <Setter Property="BorderThickness" Value="0"/>
  236. <Setter Property="Template">
  237. <Setter.Value>
  238. <ControlTemplate TargetType="{x:Type TabItem}">
  239. <Border x:Name="PART_Border" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2">
  240. <Grid Margin="16,4">
  241. <Grid.RowDefinitions>
  242. <RowDefinition Height = "auto"/>
  243. <RowDefinition Height = "2"/>
  244. <RowDefinition Height = "auto"/>
  245. </Grid.RowDefinitions>
  246. <Border BorderBrush="Black"/>
  247. <ContentPresenter x:Name="Content" Grid.Row="0" ContentSource="Header" Content="{TemplateBinding Header}" MinWidth="40" Width="auto" VerticalAlignment="Center" HorizontalAlignment="Center" TextElement.Foreground="Black" TextElement.FontSize="15"/>
  248. <Border x:Name="SelectedBar" Grid.Row="2" Background="{TemplateBinding BorderBrush}" Height="3" VerticalAlignment="Center" HorizontalAlignment="Center" Width="40" CornerRadius="0"/>
  249. </Grid>
  250. </Border>
  251. <ControlTemplate.Triggers>
  252. <Trigger Property="IsSelected" Value="True">
  253. <Setter TargetName="SelectedBar" Property="Visibility" Value="Visible" />
  254. <Setter TargetName="Content" Property="TextElement.Foreground" Value="Black"/>
  255. <Setter TargetName="Content" Property="TextElement.FontWeight" Value="Bold"/>
  256. <Setter TargetName="Content" Property="TextElement.FontSize" Value="14"/>
  257. </Trigger>
  258. <Trigger Property="IsSelected" Value="False">
  259. <Setter TargetName="SelectedBar" Property="Visibility" Value="Hidden" />
  260. <Setter TargetName="Content" Property="TextElement.Foreground" Value="Gray"/>
  261. <Setter TargetName="Content" Property="TextElement.FontWeight" Value="Bold"/>
  262. <Setter TargetName="Content" Property="TextElement.FontSize" Value="14"/>
  263. <!--<Setter TargetName="Content" Property="TextElement.FontSize" Value="12"/>-->
  264. </Trigger>
  265. </ControlTemplate.Triggers>
  266. </ControlTemplate>
  267. </Setter.Value>
  268. </Setter>
  269. </Style>
  270. <BorderGapMaskConverter x:Key="BorderGapMaskConverter"/>
  271. <SolidColorBrush x:Key="Expander.Static.Circle.Stroke" Color="#FF333333"/>
  272. <SolidColorBrush x:Key="Expander.Static.Circle.Fill" Color="#FFFFFFFF"/>
  273. <SolidColorBrush x:Key="Expander.Static.Arrow.Stroke" Color="#FF333333"/>
  274. <SolidColorBrush x:Key="Expander.MouseOver.Circle.Stroke" Color="#FF5593FF"/>
  275. <SolidColorBrush x:Key="Expander.MouseOver.Circle.Fill" Color="#FFF3F9FF"/>
  276. <SolidColorBrush x:Key="Expander.MouseOver.Arrow.Stroke" Color="#FF000000"/>
  277. <SolidColorBrush x:Key="Expander.Pressed.Circle.Stroke" Color="#FF3C77DD"/>
  278. <SolidColorBrush x:Key="Expander.Pressed.Circle.Fill" Color="#FFD9ECFF"/>
  279. <SolidColorBrush x:Key="Expander.Pressed.Arrow.Stroke" Color="#FF000000"/>
  280. <SolidColorBrush x:Key="Expander.Disabled.Circle.Stroke" Color="#FFBCBCBC"/>
  281. <SolidColorBrush x:Key="Expander.Disabled.Circle.Fill" Color="#FFE6E6E6"/>
  282. <SolidColorBrush x:Key="Expander.Disabled.Arrow.Stroke" Color="#FF707070"/>
  283. <Style x:Key="ExpanderHeaderFocusVisual">
  284. <Setter Property="Control.Template">
  285. <Setter.Value>
  286. <ControlTemplate>
  287. <Border>
  288. <Rectangle Margin="0" StrokeDashArray="1 2" Stroke="Black" SnapsToDevicePixels="true" StrokeThickness="1"/>
  289. </Border>
  290. </ControlTemplate>
  291. </Setter.Value>
  292. </Setter>
  293. </Style>
  294. <Style x:Key="ExpanderDownHeaderStyle" TargetType="{x:Type ToggleButton}">
  295. <Setter Property="Template">
  296. <Setter.Value>
  297. <ControlTemplate TargetType="{x:Type ToggleButton}">
  298. <Border Padding="{TemplateBinding Padding}">
  299. <Grid Background="Transparent" SnapsToDevicePixels="False">
  300. <Grid.ColumnDefinitions>
  301. <ColumnDefinition Width="auto"/>
  302. <ColumnDefinition Width="*"/>
  303. </Grid.ColumnDefinitions>
  304. <Image x:Name="Down" Source="{StaticResource Down}" Width="19" Margin="4,0,0,0"/>
  305. <Image x:Name="Up" Source="{StaticResource UP}" Width="19" Margin="4,0,0,0"/>
  306. <ContentPresenter Grid.Column="1" RecognizesAccessKey="True" SnapsToDevicePixels="True" VerticalAlignment="Center"/>
  307. </Grid>
  308. </Border>
  309. <ControlTemplate.Triggers>
  310. <Trigger Property="IsChecked" Value="true">
  311. <Setter TargetName="Down" Property="Visibility" Value="Collapsed"/>
  312. <Setter TargetName="Up" Property="Visibility" Value="Visible"/>
  313. </Trigger>
  314. <Trigger Property="IsChecked" Value="False">
  315. <Setter TargetName="Down" Property="Visibility" Value="Visible"/>
  316. <Setter TargetName="Up" Property="Visibility" Value="Collapsed"/>
  317. </Trigger>
  318. </ControlTemplate.Triggers>
  319. </ControlTemplate>
  320. </Setter.Value>
  321. </Setter>
  322. </Style>
  323. <Style x:Key="ExpanderUpHeaderStyle" TargetType="{x:Type ToggleButton}">
  324. <Setter Property="Template">
  325. <Setter.Value>
  326. <ControlTemplate TargetType="{x:Type ToggleButton}">
  327. <Border Padding="{TemplateBinding Padding}">
  328. <Grid Background="Transparent" SnapsToDevicePixels="False">
  329. <Grid.ColumnDefinitions>
  330. <ColumnDefinition Width="19"/>
  331. <ColumnDefinition Width="*"/>
  332. </Grid.ColumnDefinitions>
  333. <Grid>
  334. <Grid.LayoutTransform>
  335. <TransformGroup>
  336. <TransformGroup.Children>
  337. <TransformCollection>
  338. <RotateTransform Angle="180"/>
  339. </TransformCollection>
  340. </TransformGroup.Children>
  341. </TransformGroup>
  342. </Grid.LayoutTransform>
  343. <Ellipse x:Name="circle" Fill="{StaticResource Expander.Static.Circle.Fill}" HorizontalAlignment="Center" Height="19" Stroke="{StaticResource Expander.Static.Circle.Stroke}" VerticalAlignment="Center" Width="19"/>
  344. <Path x:Name="arrow" Data="M 1,1.5 L 4.5,5 L 8,1.5" HorizontalAlignment="Center" Stroke="{StaticResource Expander.Static.Arrow.Stroke}" SnapsToDevicePixels="false" StrokeThickness="2" VerticalAlignment="Center"/>
  345. </Grid>
  346. <ContentPresenter Grid.Column="1" HorizontalAlignment="Left" Margin="4,0,0,0" RecognizesAccessKey="True" SnapsToDevicePixels="True" VerticalAlignment="Center"/>
  347. </Grid>
  348. </Border>
  349. <ControlTemplate.Triggers>
  350. <Trigger Property="IsChecked" Value="true">
  351. <Setter Property="Data" TargetName="arrow" Value="M 1,4.5 L 4.5,1 L 8,4.5"/>
  352. </Trigger>
  353. <Trigger Property="IsMouseOver" Value="true">
  354. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.MouseOver.Circle.Stroke}"/>
  355. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.MouseOver.Circle.Fill}"/>
  356. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.MouseOver.Arrow.Stroke}"/>
  357. </Trigger>
  358. <Trigger Property="IsPressed" Value="true">
  359. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.Pressed.Circle.Stroke}"/>
  360. <Setter Property="StrokeThickness" TargetName="circle" Value="1.5"/>
  361. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.Pressed.Circle.Fill}"/>
  362. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.Pressed.Arrow.Stroke}"/>
  363. </Trigger>
  364. <Trigger Property="IsEnabled" Value="false">
  365. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.Disabled.Circle.Stroke}"/>
  366. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.Disabled.Circle.Fill}"/>
  367. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.Disabled.Arrow.Stroke}"/>
  368. </Trigger>
  369. </ControlTemplate.Triggers>
  370. </ControlTemplate>
  371. </Setter.Value>
  372. </Setter>
  373. </Style>
  374. <Style x:Key="ExpanderLeftHeaderStyle" TargetType="{x:Type ToggleButton}">
  375. <Setter Property="Template">
  376. <Setter.Value>
  377. <ControlTemplate TargetType="{x:Type ToggleButton}">
  378. <Border Padding="{TemplateBinding Padding}">
  379. <Grid Background="Transparent" SnapsToDevicePixels="False">
  380. <Grid.RowDefinitions>
  381. <RowDefinition Height="19"/>
  382. <RowDefinition Height="*"/>
  383. </Grid.RowDefinitions>
  384. <Grid>
  385. <Grid.LayoutTransform>
  386. <TransformGroup>
  387. <TransformGroup.Children>
  388. <TransformCollection>
  389. <RotateTransform Angle="90"/>
  390. </TransformCollection>
  391. </TransformGroup.Children>
  392. </TransformGroup>
  393. </Grid.LayoutTransform>
  394. <Ellipse x:Name="circle" Fill="{StaticResource Expander.Static.Circle.Fill}" HorizontalAlignment="Center" Height="19" Stroke="{StaticResource Expander.Static.Circle.Stroke}" VerticalAlignment="Center" Width="19"/>
  395. <Path x:Name="arrow" Data="M 1,1.5 L 4.5,5 L 8,1.5" HorizontalAlignment="Center" Stroke="{StaticResource Expander.Static.Arrow.Stroke}" SnapsToDevicePixels="false" StrokeThickness="2" VerticalAlignment="Center"/>
  396. </Grid>
  397. <ContentPresenter HorizontalAlignment="Center" Margin="0,4,0,0" RecognizesAccessKey="True" Grid.Row="1" SnapsToDevicePixels="True" VerticalAlignment="Top"/>
  398. </Grid>
  399. </Border>
  400. <ControlTemplate.Triggers>
  401. <Trigger Property="IsChecked" Value="true">
  402. <Setter Property="Data" TargetName="arrow" Value="M 1,4.5 L 4.5,1 L 8,4.5"/>
  403. </Trigger>
  404. <Trigger Property="IsMouseOver" Value="true">
  405. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.MouseOver.Circle.Stroke}"/>
  406. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.MouseOver.Circle.Fill}"/>
  407. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.MouseOver.Arrow.Stroke}"/>
  408. </Trigger>
  409. <Trigger Property="IsPressed" Value="true">
  410. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.Pressed.Circle.Stroke}"/>
  411. <Setter Property="StrokeThickness" TargetName="circle" Value="1.5"/>
  412. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.Pressed.Circle.Fill}"/>
  413. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.Pressed.Arrow.Stroke}"/>
  414. </Trigger>
  415. <Trigger Property="IsEnabled" Value="false">
  416. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.Disabled.Circle.Stroke}"/>
  417. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.Disabled.Circle.Fill}"/>
  418. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.Disabled.Arrow.Stroke}"/>
  419. </Trigger>
  420. </ControlTemplate.Triggers>
  421. </ControlTemplate>
  422. </Setter.Value>
  423. </Setter>
  424. </Style>
  425. <Style x:Key="ExpanderRightHeaderStyle" TargetType="{x:Type ToggleButton}">
  426. <Setter Property="Template">
  427. <Setter.Value>
  428. <ControlTemplate TargetType="{x:Type ToggleButton}">
  429. <Border Padding="{TemplateBinding Padding}">
  430. <Grid Background="Transparent" SnapsToDevicePixels="False">
  431. <Grid.RowDefinitions>
  432. <RowDefinition Height="19"/>
  433. <RowDefinition Height="*"/>
  434. </Grid.RowDefinitions>
  435. <Grid>
  436. <Grid.LayoutTransform>
  437. <TransformGroup>
  438. <TransformGroup.Children>
  439. <TransformCollection>
  440. <RotateTransform Angle="-90"/>
  441. </TransformCollection>
  442. </TransformGroup.Children>
  443. </TransformGroup>
  444. </Grid.LayoutTransform>
  445. <Ellipse x:Name="circle" Fill="{StaticResource Expander.Static.Circle.Fill}" HorizontalAlignment="Center" Height="19" Stroke="{StaticResource Expander.Static.Circle.Stroke}" VerticalAlignment="Center" Width="19"/>
  446. <Path x:Name="arrow" Data="M 1,1.5 L 4.5,5 L 8,1.5" HorizontalAlignment="Center" Stroke="{StaticResource Expander.Static.Arrow.Stroke}" SnapsToDevicePixels="false" StrokeThickness="2" VerticalAlignment="Center"/>
  447. </Grid>
  448. <ContentPresenter HorizontalAlignment="Center" Margin="0,4,0,0" RecognizesAccessKey="True" Grid.Row="1" SnapsToDevicePixels="True" VerticalAlignment="Top"/>
  449. </Grid>
  450. </Border>
  451. <ControlTemplate.Triggers>
  452. <Trigger Property="IsChecked" Value="true">
  453. <Setter Property="Data" TargetName="arrow" Value="M 1,4.5 L 4.5,1 L 8,4.5"/>
  454. </Trigger>
  455. <Trigger Property="IsMouseOver" Value="true">
  456. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.MouseOver.Circle.Stroke}"/>
  457. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.MouseOver.Circle.Fill}"/>
  458. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.MouseOver.Arrow.Stroke}"/>
  459. </Trigger>
  460. <Trigger Property="IsPressed" Value="true">
  461. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.Pressed.Circle.Stroke}"/>
  462. <Setter Property="StrokeThickness" TargetName="circle" Value="1.5"/>
  463. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.Pressed.Circle.Fill}"/>
  464. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.Pressed.Arrow.Stroke}"/>
  465. </Trigger>
  466. <Trigger Property="IsEnabled" Value="false">
  467. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.Disabled.Circle.Stroke}"/>
  468. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.Disabled.Circle.Fill}"/>
  469. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.Disabled.Arrow.Stroke}"/>
  470. </Trigger>
  471. </ControlTemplate.Triggers>
  472. </ControlTemplate>
  473. </Setter.Value>
  474. </Setter>
  475. </Style>
  476. <Style x:Key="ExpanderStyle1" TargetType="{x:Type Expander}">
  477. <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
  478. <Setter Property="Background" Value="Transparent"/>
  479. <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
  480. <Setter Property="VerticalContentAlignment" Value="Stretch"/>
  481. <Setter Property="BorderBrush" Value="Transparent"/>
  482. <Setter Property="BorderThickness" Value="1"/>
  483. <Setter Property="Template">
  484. <Setter.Value>
  485. <ControlTemplate TargetType="{x:Type Expander}">
  486. <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="3" SnapsToDevicePixels="true">
  487. <DockPanel>
  488. <ToggleButton x:Name="HeaderSite" ContentTemplate="{TemplateBinding HeaderTemplate}" Content="{TemplateBinding Header}" ContentTemplateSelector="{TemplateBinding HeaderTemplateSelector}" DockPanel.Dock="Top" FontStretch="{TemplateBinding FontStretch}" Foreground="{TemplateBinding Foreground}" FocusVisualStyle="{StaticResource ExpanderHeaderFocusVisual}" FontStyle="{TemplateBinding FontStyle}" FontFamily="{TemplateBinding FontFamily}" FontWeight="{TemplateBinding FontWeight}" FontSize="{TemplateBinding FontSize}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource Mode=TemplatedParent}}" Margin="1" MinWidth="0" MinHeight="0" Padding="{TemplateBinding Padding}" Style="{StaticResource ExpanderDownHeaderStyle}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
  489. <ContentPresenter x:Name="ExpandSite" DockPanel.Dock="Bottom" Focusable="false" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Visibility="Collapsed"/>
  490. </DockPanel>
  491. </Border>
  492. <ControlTemplate.Triggers>
  493. <Trigger Property="IsExpanded" Value="true">
  494. <Setter Property="Visibility" TargetName="ExpandSite" Value="Visible"/>
  495. </Trigger>
  496. <Trigger Property="ExpandDirection" Value="Right">
  497. <Setter Property="DockPanel.Dock" TargetName="ExpandSite" Value="Right"/>
  498. <Setter Property="DockPanel.Dock" TargetName="HeaderSite" Value="Left"/>
  499. <Setter Property="Style" TargetName="HeaderSite" Value="{StaticResource ExpanderRightHeaderStyle}"/>
  500. </Trigger>
  501. <Trigger Property="ExpandDirection" Value="Up">
  502. <Setter Property="DockPanel.Dock" TargetName="ExpandSite" Value="Top"/>
  503. <Setter Property="DockPanel.Dock" TargetName="HeaderSite" Value="Bottom"/>
  504. <Setter Property="Style" TargetName="HeaderSite" Value="{StaticResource ExpanderUpHeaderStyle}"/>
  505. </Trigger>
  506. <Trigger Property="ExpandDirection" Value="Left">
  507. <Setter Property="DockPanel.Dock" TargetName="ExpandSite" Value="Left"/>
  508. <Setter Property="DockPanel.Dock" TargetName="HeaderSite" Value="Right"/>
  509. <Setter Property="Style" TargetName="HeaderSite" Value="{StaticResource ExpanderLeftHeaderStyle}"/>
  510. </Trigger>
  511. <Trigger Property="IsEnabled" Value="false">
  512. <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
  513. </Trigger>
  514. </ControlTemplate.Triggers>
  515. </ControlTemplate>
  516. </Setter.Value>
  517. </Setter>
  518. </Style>
  519. <Style TargetType="{x:Type DataGrid}">
  520. <Setter Property="BorderBrush" Value="#FF688CAF"/>
  521. <Setter Property="BorderThickness" Value="1"/>
  522. <Setter Property="RowDetailsVisibilityMode" Value="VisibleWhenSelected"/>
  523. <Setter Property="ScrollViewer.CanContentScroll" Value="true"/>
  524. <Setter Property="ScrollViewer.PanningMode" Value="Both"/>
  525. <Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
  526. <Setter Property="AutoGenerateColumns" Value="False"/>
  527. <Setter Property="AlternationCount" Value="2"/>
  528. <Setter Property="Template">
  529. <Setter.Value>
  530. <ControlTemplate TargetType="{x:Type DataGrid}">
  531. <Grid>
  532. <Border Background="{TemplateBinding Background}" CornerRadius="0">
  533. <Border.Effect>
  534. <DropShadowEffect ShadowDepth="0" Direction="0" Color="#FFDADADA"/>
  535. </Border.Effect>
  536. </Border>
  537. <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
  538. <ScrollViewer x:Name="DG_ScrollViewer" Focusable="false">
  539. <ScrollViewer.Template>
  540. <ControlTemplate TargetType="{x:Type ScrollViewer}">
  541. <Grid>
  542. <Grid.ColumnDefinitions>
  543. <ColumnDefinition Width="Auto"/>
  544. <ColumnDefinition Width="*"/>
  545. <ColumnDefinition Width="Auto"/>
  546. </Grid.ColumnDefinitions>
  547. <Grid.RowDefinitions>
  548. <RowDefinition Height="Auto"/>
  549. <RowDefinition Height="*"/>
  550. <RowDefinition Height="Auto"/>
  551. </Grid.RowDefinitions>
  552. <Button Command="{x:Static DataGrid.SelectAllCommand}" Focusable="false" Style="{DynamicResource {ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}}" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.All}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" Width="{Binding CellsPanelHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
  553. <DataGridColumnHeadersPresenter x:Name="PART_ColumnHeadersPresenter" Grid.Column="1" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Column}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
  554. <ScrollContentPresenter x:Name="PART_ScrollContentPresenter" CanContentScroll="{TemplateBinding CanContentScroll}" Grid.ColumnSpan="2" Grid.Row="1"/>
  555. <ScrollBar x:Name="PART_VerticalScrollBar" Grid.Column="2" Maximum="{TemplateBinding ScrollableHeight}" Orientation="Vertical" Grid.Row="1" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}"/>
  556. <Grid Grid.Column="1" Grid.Row="2">
  557. <Grid.ColumnDefinitions>
  558. <ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
  559. <ColumnDefinition Width="*"/>
  560. </Grid.ColumnDefinitions>
  561. <ScrollBar x:Name="PART_HorizontalScrollBar" Grid.Column="1" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/>
  562. </Grid>
  563. </Grid>
  564. </ControlTemplate>
  565. </ScrollViewer.Template>
  566. <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
  567. </ScrollViewer>
  568. </Border>
  569. </Grid>
  570. </ControlTemplate>
  571. </Setter.Value>
  572. </Setter>
  573. <Style.Triggers>
  574. <MultiTrigger>
  575. <MultiTrigger.Conditions>
  576. <Condition Property="IsGrouping" Value="true"/>
  577. <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping" Value="false"/>
  578. </MultiTrigger.Conditions>
  579. <Setter Property="ScrollViewer.CanContentScroll" Value="false"/>
  580. </MultiTrigger>
  581. </Style.Triggers>
  582. </Style>
  583. <Style TargetType="DataGridColumnHeader">
  584. <Setter Property="Background" Value="Transparent"/>
  585. <Setter Property="VerticalContentAlignment" Value="Center"/>
  586. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  587. <Setter Property="Template">
  588. <Setter.Value>
  589. <ControlTemplate TargetType="DataGridColumnHeader">
  590. <Grid Background="{TemplateBinding Background}">
  591. <!--<Grid.ColumnDefinitions>
  592. <ColumnDefinition/>
  593. <ColumnDefinition Width="20"/>
  594. </Grid.ColumnDefinitions>-->
  595. <ContentPresenter Margin="0 2 0 2" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/>
  596. <!--<TextBlock Grid.Column="1" x:Name="SortArrow" Visibility="Visible" VerticalAlignment="Center" FontFamily="/DataGrid;component/Fonts/#FontAwesome"/>-->
  597. </Grid>
  598. <!--<ControlTemplate.Triggers>
  599. <Trigger Property="SortDirection" Value="Ascending">
  600. <Setter TargetName="SortArrow" Property="Visibility" Value="Visible" />
  601. <Setter TargetName="SortArrow" Property="Text" Value="&#xf160;" />
  602. </Trigger>
  603. <Trigger Property="SortDirection" Value="Descending">
  604. <Setter TargetName="SortArrow" Property="Visibility" Value="Visible" />
  605. <Setter TargetName="SortArrow" Property="Text" Value="&#xf161;" />
  606. </Trigger>
  607. </ControlTemplate.Triggers>-->
  608. </ControlTemplate>
  609. </Setter.Value>
  610. </Setter>
  611. </Style>
  612. <Style TargetType="DataGridRow">
  613. <Setter Property="Cursor" Value="Hand"/>
  614. <Setter Property="Template" >
  615. <Setter.Value>
  616. <ControlTemplate TargetType="DataGridRow">
  617. <Grid >
  618. <Border x:Name="border" Background="{TemplateBinding Background}" BorderThickness="1" BorderBrush="Transparent"/>
  619. <DataGridCellsPresenter />
  620. </Grid>
  621. <ControlTemplate.Triggers>
  622. <Trigger Property="IsMouseOver" Value="True">
  623. <Setter Property="BorderBrush" TargetName="border" Value="#00BCD4"/>
  624. </Trigger>
  625. <Trigger Property="IsSelected" Value="true">
  626. <Setter Property="BorderBrush" TargetName="border" Value="#00BCD4"/>
  627. </Trigger>
  628. </ControlTemplate.Triggers>
  629. </ControlTemplate>
  630. </Setter.Value>
  631. </Setter>
  632. <Style.Triggers>
  633. <Trigger Property="ItemsControl.AlternationIndex"
  634. Value="0">
  635. <Setter Property="Background" Value="Transparent" />
  636. </Trigger>
  637. <Trigger Property="ItemsControl.AlternationIndex"
  638. Value="1">
  639. <Setter Property="Background" Value="Transparent" />
  640. </Trigger>
  641. </Style.Triggers>
  642. </Style>
  643. <Style TargetType="DataGridCell">
  644. <Setter Property="Background" Value="Transparent"/>
  645. <Setter Property="VerticalContentAlignment" Value="Center"/>
  646. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  647. <Setter Property="Template">
  648. <Setter.Value>
  649. <ControlTemplate TargetType="DataGridCell">
  650. <Grid Background="{TemplateBinding Background}">
  651. <ContentPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/>
  652. </Grid>
  653. <ControlTemplate.Triggers>
  654. <Trigger Property="IsSelected" Value="true">
  655. <Setter Property="Foreground" Value="Black" />
  656. </Trigger>
  657. </ControlTemplate.Triggers>
  658. </ControlTemplate>
  659. </Setter.Value>
  660. </Setter>
  661. </Style>
  662. <!-- ScrollViewer 滚动条 -->
  663. <Style x:Key="ScrollBarThumb" TargetType="{x:Type Thumb}">
  664. <Setter Property="OverridesDefaultStyle" Value="true"/>
  665. <Setter Property="IsTabStop" Value="false"/>
  666. <Setter Property="Template">
  667. <Setter.Value>
  668. <ControlTemplate TargetType="{x:Type Thumb}">
  669. <Grid>
  670. <!--滚动条颜色-->
  671. <Border Background="{StaticResource SubThemeColor}" CornerRadius="3"/>
  672. </Grid>
  673. </ControlTemplate>
  674. </Setter.Value>
  675. </Setter>
  676. </Style>
  677. <Style x:Key="HorizontalScrollBarPageButton" TargetType="{x:Type RepeatButton}">
  678. <Setter Property="OverridesDefaultStyle" Value="true"/>
  679. <Setter Property="Background" Value="Transparent"/>
  680. <Setter Property="Focusable" Value="false"/>
  681. <Setter Property="IsTabStop" Value="false"/>
  682. <Setter Property="Opacity" Value="0.2"/>
  683. <Setter Property="Template">
  684. <Setter.Value>
  685. <ControlTemplate TargetType="{x:Type RepeatButton}">
  686. <Rectangle Fill="{TemplateBinding Background}" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}"/>
  687. </ControlTemplate>
  688. </Setter.Value>
  689. </Setter>
  690. </Style>
  691. <Style x:Key="VerticalScrollBarPageButton" TargetType="{x:Type RepeatButton}">
  692. <Setter Property="OverridesDefaultStyle" Value="true"/>
  693. <Setter Property="Background" Value="Transparent"/>
  694. <Setter Property="Focusable" Value="false"/>
  695. <Setter Property="IsTabStop" Value="false"/>
  696. <Setter Property="Opacity" Value="0.2"/>
  697. <Setter Property="Template">
  698. <Setter.Value>
  699. <ControlTemplate TargetType="{x:Type RepeatButton}">
  700. <Rectangle Fill="{TemplateBinding Background}" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}"/>
  701. </ControlTemplate>
  702. </Setter.Value>
  703. </Setter>
  704. </Style>
  705. <!--滚动条上下按钮-->
  706. <Style x:Key="VerticalScrollBarPageButton2" TargetType="{x:Type RepeatButton}">
  707. <Setter Property="OverridesDefaultStyle" Value="true"/>
  708. <Setter Property="Background" Value="Transparent"/>
  709. <Setter Property="Focusable" Value="false"/>
  710. <Setter Property="IsTabStop" Value="false"/>
  711. <Setter Property="Opacity" Value="0"/>
  712. <Setter Property="Template">
  713. <Setter.Value>
  714. <ControlTemplate TargetType="{x:Type RepeatButton}">
  715. <Rectangle Fill="{StaticResource SubThemeColor}" Width="0" Height="0"/>
  716. </ControlTemplate>
  717. </Setter.Value>
  718. </Setter>
  719. </Style>
  720. <Style x:Key="for_scrollbar" TargetType="{x:Type ScrollBar}">
  721. <Setter Property="Stylus.IsPressAndHoldEnabled" Value="false"/>
  722. <Setter Property="Stylus.IsFlicksEnabled" Value="false"/>
  723. <Setter Property="Background" Value="Transparent"/>
  724. <Setter Property="Margin" Value="0,1,1,6"/>
  725. <Setter Property="Width" Value="10"/>
  726. <Setter Property="MinWidth" Value="5"/>
  727. <Setter Property="Opacity" Value="0.2"/>
  728. <Setter Property="Template">
  729. <Setter.Value>
  730. <ControlTemplate TargetType="{x:Type ScrollBar}">
  731. <Grid x:Name="Bg" SnapsToDevicePixels="true">
  732. <Grid.RowDefinitions>
  733. <RowDefinition Height="auto"></RowDefinition>
  734. <RowDefinition Height="*"></RowDefinition>
  735. <RowDefinition Height="auto"></RowDefinition>
  736. </Grid.RowDefinitions>
  737. <RepeatButton Grid.Row="0" Style="{StaticResource VerticalScrollBarPageButton2}" Command="{x:Static ScrollBar.PageUpCommand}"/>
  738. <Track x:Name="PART_Track" Grid.Row="1" IsEnabled="{TemplateBinding IsMouseOver}" IsDirectionReversed="true">
  739. <Track.DecreaseRepeatButton>
  740. <RepeatButton Style="{StaticResource VerticalScrollBarPageButton}" Command="{x:Static ScrollBar.PageUpCommand}"/>
  741. </Track.DecreaseRepeatButton>
  742. <Track.IncreaseRepeatButton>
  743. <RepeatButton Style="{StaticResource VerticalScrollBarPageButton}" Command="{x:Static ScrollBar.PageDownCommand}"/>
  744. </Track.IncreaseRepeatButton>
  745. <Track.Thumb>
  746. <Thumb Style="{StaticResource ScrollBarThumb}"/>
  747. </Track.Thumb>
  748. </Track>
  749. <RepeatButton Grid.Row="2" Style="{StaticResource VerticalScrollBarPageButton2}" Command="{x:Static ScrollBar.PageDownCommand}"/>
  750. </Grid>
  751. </ControlTemplate>
  752. </Setter.Value>
  753. </Setter>
  754. <Style.Triggers>
  755. <Trigger Property="Orientation" Value="Horizontal">
  756. <Setter Property="Background" Value="Transparent"/>
  757. <Setter Property="Margin" Value="1,0,6,1"/>
  758. <Setter Property="Height" Value="5"/>
  759. <Setter Property="MinHeight" Value="5"/>
  760. <Setter Property="Width" Value="Auto"/>
  761. <Setter Property="Opacity" Value="0.2"/>
  762. <Setter Property="Template">
  763. <Setter.Value>
  764. <ControlTemplate TargetType="{x:Type ScrollBar}">
  765. <Grid x:Name="Bg" SnapsToDevicePixels="true">
  766. <Track x:Name="PART_Track" IsEnabled="{TemplateBinding IsMouseOver}">
  767. <Track.DecreaseRepeatButton>
  768. <RepeatButton Style="{StaticResource HorizontalScrollBarPageButton}" Command="{x:Static ScrollBar.PageLeftCommand}"/>
  769. </Track.DecreaseRepeatButton>
  770. <Track.IncreaseRepeatButton>
  771. <RepeatButton Style="{StaticResource HorizontalScrollBarPageButton}" Command="{x:Static ScrollBar.PageRightCommand}"/>
  772. </Track.IncreaseRepeatButton>
  773. <Track.Thumb>
  774. <Thumb Style="{StaticResource ScrollBarThumb}"/>
  775. </Track.Thumb>
  776. </Track>
  777. </Grid>
  778. </ControlTemplate>
  779. </Setter.Value>
  780. </Setter>
  781. </Trigger>
  782. </Style.Triggers>
  783. </Style>
  784. <Style x:Key="for_scrollviewer"
  785. TargetType="{x:Type ScrollViewer}">
  786. <Setter Property="BorderBrush" Value="{StaticResource SubThemeColor}"/>
  787. <Setter Property="BorderThickness" Value="0"/>
  788. <Setter Property="Template">
  789. <Setter.Value>
  790. <ControlTemplate TargetType="{x:Type ScrollViewer}">
  791. <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" SnapsToDevicePixels="True">
  792. <Grid Background="{TemplateBinding Background}">
  793. <ScrollContentPresenter Cursor="{TemplateBinding Cursor}" Margin="{TemplateBinding Padding}" ContentTemplate="{TemplateBinding ContentTemplate}"/>
  794. <ScrollBar x:Name="PART_VerticalScrollBar"
  795. HorizontalAlignment="Right"
  796. Maximum="{TemplateBinding ScrollableHeight}"
  797. Orientation="Vertical"
  798. Style="{StaticResource for_scrollbar}"
  799. ViewportSize="{TemplateBinding ViewportHeight}"
  800. Value="{TemplateBinding VerticalOffset}"
  801. Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"/>
  802. <ScrollBar x:Name="PART_HorizontalScrollBar"
  803. Maximum="{TemplateBinding ScrollableWidth}"
  804. Orientation="Horizontal"
  805. Style="{StaticResource for_scrollbar}"
  806. VerticalAlignment="Bottom"
  807. Value="{TemplateBinding HorizontalOffset}"
  808. ViewportSize="{TemplateBinding ViewportWidth}"
  809. Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"/>
  810. </Grid>
  811. </Border>
  812. <ControlTemplate.Triggers>
  813. <EventTrigger RoutedEvent="ScrollChanged" >
  814. <BeginStoryboard>
  815. <Storyboard>
  816. <DoubleAnimation
  817. Storyboard.TargetName="PART_VerticalScrollBar"
  818. Storyboard.TargetProperty="Opacity"
  819. To="0.8"
  820. Duration="0:0:1"/>
  821. <DoubleAnimation
  822. Storyboard.TargetName="PART_VerticalScrollBar"
  823. Storyboard.TargetProperty="Opacity"
  824. To="0.2"
  825. Duration="0:0:1"
  826. BeginTime="0:0:1"/>
  827. <DoubleAnimation
  828. Storyboard.TargetName="PART_HorizontalScrollBar"
  829. Storyboard.TargetProperty="Opacity"
  830. To="0.8"
  831. Duration="0:0:1"/>
  832. <DoubleAnimation
  833. Storyboard.TargetName="PART_HorizontalScrollBar"
  834. Storyboard.TargetProperty="Opacity"
  835. To="0.2"
  836. Duration="0:0:1"
  837. BeginTime="0:0:1"/>
  838. </Storyboard>
  839. </BeginStoryboard>
  840. </EventTrigger>
  841. <EventTrigger RoutedEvent="MouseEnter"
  842. SourceName="PART_VerticalScrollBar">
  843. <BeginStoryboard>
  844. <Storyboard>
  845. <DoubleAnimation
  846. Storyboard.TargetName="PART_VerticalScrollBar"
  847. Storyboard.TargetProperty="Opacity"
  848. To="0.8"
  849. Duration="0:0:0.7"/>
  850. </Storyboard>
  851. </BeginStoryboard>
  852. </EventTrigger>
  853. <EventTrigger RoutedEvent="MouseLeave"
  854. SourceName="PART_VerticalScrollBar">
  855. <BeginStoryboard>
  856. <Storyboard>
  857. <DoubleAnimation
  858. Storyboard.TargetName="PART_VerticalScrollBar"
  859. Storyboard.TargetProperty="Opacity"
  860. To="0.2"
  861. Duration="0:0:0.7"/>
  862. </Storyboard>
  863. </BeginStoryboard>
  864. </EventTrigger>
  865. <EventTrigger RoutedEvent="MouseEnter"
  866. SourceName="PART_HorizontalScrollBar">
  867. <BeginStoryboard>
  868. <Storyboard>
  869. <DoubleAnimation
  870. Storyboard.TargetName="PART_HorizontalScrollBar"
  871. Storyboard.TargetProperty="Opacity"
  872. To="0.8"
  873. Duration="0:0:0.7"/>
  874. </Storyboard>
  875. </BeginStoryboard>
  876. </EventTrigger>
  877. <EventTrigger RoutedEvent="MouseLeave"
  878. SourceName="PART_HorizontalScrollBar">
  879. <BeginStoryboard>
  880. <Storyboard>
  881. <DoubleAnimation
  882. Storyboard.TargetName="PART_HorizontalScrollBar"
  883. Storyboard.TargetProperty="Opacity"
  884. To="0.2"
  885. Duration="0:0:0.7"/>
  886. </Storyboard>
  887. </BeginStoryboard>
  888. </EventTrigger>
  889. </ControlTemplate.Triggers>
  890. </ControlTemplate>
  891. </Setter.Value>
  892. </Setter>
  893. </Style>
  894. <!--默认ScrollBar-->
  895. <Style TargetType="ScrollBar" BasedOn="{StaticResource for_scrollbar}"/>
  896. <!--默认ScrollView-->
  897. <Style TargetType="ScrollViewer" BasedOn="{StaticResource for_scrollviewer}"/>
  898. </ResourceDictionary>