OtherStyle.xaml 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726
  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="24" Height="24" 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="10"/>
  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. <Trigger Property="Value" Value="100">
  97. <Setter TargetName="Bor" Property="Background" Value="{StaticResource NiceGreen}"/>
  98. </Trigger>
  99. </ControlTemplate.Triggers>
  100. </ControlTemplate>
  101. </Setter.Value>
  102. </Setter>
  103. </Style>
  104. <Style x:Key="ListBoxItemContainerStyle1" TargetType="{x:Type ListBoxItem}">
  105. <Setter Property="SnapsToDevicePixels" Value="True"/>
  106. <Setter Property="Padding" Value="0"/>
  107. <Setter Property="HorizontalContentAlignment" Value="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
  108. <Setter Property="VerticalContentAlignment" Value="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
  109. <Setter Property="Background" Value="Transparent"/>
  110. <Setter Property="BorderBrush" Value="Transparent"/>
  111. <Setter Property="BorderThickness" Value="0"/>
  112. <Setter Property="Template">
  113. <Setter.Value>
  114. <ControlTemplate TargetType="{x:Type ListBoxItem}">
  115. <Border x:Name="Bd" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true" Margin="0">
  116. <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
  117. </Border>
  118. <ControlTemplate.Triggers>
  119. <MultiTrigger>
  120. <MultiTrigger.Conditions>
  121. <Condition Property="IsMouseOver" Value="True"/>
  122. </MultiTrigger.Conditions>
  123. <Setter Property="Background" TargetName="Bd" Value="{StaticResource TextColor}"/>
  124. <Setter Property="BorderBrush" TargetName="Bd" Value="{StaticResource TextColor}"/>
  125. </MultiTrigger>
  126. <MultiTrigger>
  127. <MultiTrigger.Conditions>
  128. <Condition Property="Selector.IsSelectionActive" Value="False"/>
  129. <Condition Property="IsSelected" Value="True"/>
  130. </MultiTrigger.Conditions>
  131. <Setter Property="Background" TargetName="Bd" Value="#515355"/>
  132. <Setter Property="BorderBrush" TargetName="Bd" Value="#515355"/>
  133. </MultiTrigger>
  134. <MultiTrigger>
  135. <MultiTrigger.Conditions>
  136. <Condition Property="Selector.IsSelectionActive" Value="True"/>
  137. <Condition Property="IsSelected" Value="True"/>
  138. </MultiTrigger.Conditions>
  139. <Setter Property="Background" TargetName="Bd" Value="#515355"/>
  140. <Setter Property="BorderBrush" TargetName="Bd" Value="#515355"/>
  141. </MultiTrigger>
  142. </ControlTemplate.Triggers>
  143. </ControlTemplate>
  144. </Setter.Value>
  145. </Setter>
  146. </Style>
  147. <Style x:Key="Tab" TargetType="{x:Type TabControl}">
  148. <Setter Property="TabStripPlacement" Value="Top" />
  149. <Setter Property="Margin" Value="2" />
  150. <Setter Property="Padding" Value="2" />
  151. <Setter Property="Background" Value="White" />
  152. <Setter Property="Template">
  153. <Setter.Value>
  154. <ControlTemplate TargetType="{x:Type TabControl}">
  155. <Grid ClipToBounds="True" SnapsToDevicePixels="True" KeyboardNavigation.TabNavigation="Local">
  156. <Grid.ColumnDefinitions>
  157. <ColumnDefinition Name="ColumnDefinition0" />
  158. <ColumnDefinition Width="0" Name="ColumnDefinition1" />
  159. </Grid.ColumnDefinitions>
  160. <Grid.RowDefinitions>
  161. <RowDefinition Height="Auto" Name="RowDefinition0" />
  162. <RowDefinition Height="*" Name="RowDefinition1" />
  163. </Grid.RowDefinitions>
  164. <Border x:Name="HeaderBorder"
  165. BorderBrush="{StaticResource TextColor}"
  166. BorderThickness="0,0,0,1"
  167. Background="#FAFAFA"
  168. Margin="0,0">
  169. <TabPanel IsItemsHost="True"
  170. Name="HeaderPanel"
  171. Panel.ZIndex="1"
  172. KeyboardNavigation.TabIndex="1"
  173. Grid.Column="0"
  174. Grid.Row="0" />
  175. </Border>
  176. <Grid Name="ContentPanel"
  177. KeyboardNavigation.TabIndex="2"
  178. KeyboardNavigation.TabNavigation="Local"
  179. KeyboardNavigation.DirectionalNavigation="Continue"
  180. Grid.Column="0"
  181. Grid.Row="1">
  182. <Border Background="{TemplateBinding Background}"
  183. BorderBrush="{TemplateBinding BorderBrush}"
  184. BorderThickness="{TemplateBinding BorderThickness}"
  185. CornerRadius="5">
  186. <ContentPresenter Content="{TemplateBinding SelectedContent}"
  187. ContentTemplate="{TemplateBinding SelectedContentTemplate}"
  188. ContentStringFormat="{TemplateBinding SelectedContentStringFormat}"
  189. ContentSource="SelectedContent"
  190. Name="PART_SelectedContentHost"
  191. Margin="2"
  192. SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}"
  193. />
  194. </Border>
  195. </Grid>
  196. </Grid>
  197. <ControlTemplate.Triggers>
  198. <Trigger Property="TabControl.TabStripPlacement" Value="Bottom">
  199. <Setter TargetName="HeaderPanel" Property="Grid.Row" Value="1" />
  200. <Setter TargetName="ContentPanel" Property="Grid.Row" Value="0" />
  201. <Setter TargetName="RowDefinition0" Property="RowDefinition.Height" Value="*" />
  202. <Setter TargetName="RowDefinition1" Property="RowDefinition.Height" Value="Auto" />
  203. <Setter TargetName="HeaderBorder" Property="FrameworkElement.Margin" Value="0,5,0,0" />
  204. </Trigger>
  205. <Trigger Property="TabControl.TabStripPlacement" Value="Left">
  206. <Setter TargetName="HeaderPanel" Property="Grid.Row" Value="0" />
  207. <Setter TargetName="ContentPanel" Property="Grid.Row" Value="0" />
  208. <Setter TargetName="HeaderPanel" Property="Grid.Column" Value="0" />
  209. <Setter TargetName="ContentPanel" Property="Grid.Column" Value="1" />
  210. <Setter TargetName="ColumnDefinition0" Property="ColumnDefinition.Width" Value="Auto" />
  211. <Setter TargetName="ColumnDefinition1" Property="ColumnDefinition.Width" Value="*" />
  212. <Setter TargetName="RowDefinition0" Property="RowDefinition.Height" Value="*" />
  213. <Setter TargetName="RowDefinition1" Property="RowDefinition.Height" Value="0" />
  214. <Setter TargetName="HeaderBorder" Property="FrameworkElement.Margin" Value="0,0,5,0" />
  215. </Trigger>
  216. <Trigger Property="TabControl.TabStripPlacement" Value="Right">
  217. <Setter TargetName="HeaderPanel" Property="Grid.Row" Value="0" />
  218. <Setter TargetName="ContentPanel" Property="Grid.Row" Value="0" />
  219. <Setter TargetName="HeaderPanel" Property="Grid.Column" Value="1" />
  220. <Setter TargetName="ContentPanel" Property="Grid.Column" Value="0" />
  221. <Setter TargetName="ColumnDefinition0" Property="ColumnDefinition.Width" Value="*" />
  222. <Setter TargetName="ColumnDefinition1" Property="ColumnDefinition.Width" Value="Auto" />
  223. <Setter TargetName="RowDefinition0" Property="RowDefinition.Height" Value="*" />
  224. <Setter TargetName="RowDefinition1" Property="RowDefinition.Height" Value="0" />
  225. <Setter TargetName="HeaderBorder" Property="FrameworkElement.Margin" Value="5,0,0,0" />
  226. </Trigger>
  227. <Trigger Property="UIElement.IsEnabled" Value="False">
  228. <Setter Property="TextElement.Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
  229. </Trigger>
  230. </ControlTemplate.Triggers>
  231. </ControlTemplate>
  232. </Setter.Value>
  233. </Setter>
  234. </Style>
  235. <Style x:Key="TabTheme" TargetType="{x:Type TabItem}">
  236. <Setter Property="Background" Value="Transparent" />
  237. <Setter Property="BorderBrush" Value="{StaticResource ThemeColor}"/>
  238. <Setter Property="BorderThickness" Value="0"/>
  239. <Setter Property="Template">
  240. <Setter.Value>
  241. <ControlTemplate TargetType="{x:Type TabItem}">
  242. <Border x:Name="PART_Border" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2">
  243. <Grid Margin="16,4">
  244. <Grid.RowDefinitions>
  245. <RowDefinition Height = "auto"/>
  246. <RowDefinition Height = "2"/>
  247. <RowDefinition Height = "auto"/>
  248. </Grid.RowDefinitions>
  249. <Border BorderBrush="Black"/>
  250. <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"/>
  251. <Border x:Name="SelectedBar" Grid.Row="2" Background="{TemplateBinding BorderBrush}" Height="3" VerticalAlignment="Center" HorizontalAlignment="Center" Width="40" CornerRadius="0"/>
  252. </Grid>
  253. </Border>
  254. <ControlTemplate.Triggers>
  255. <Trigger Property="IsSelected" Value="True">
  256. <Setter TargetName="SelectedBar" Property="Visibility" Value="Visible" />
  257. <Setter TargetName="Content" Property="TextElement.Foreground" Value="Black"/>
  258. <Setter TargetName="Content" Property="TextElement.FontWeight" Value="Bold"/>
  259. <Setter TargetName="Content" Property="TextElement.FontSize" Value="14"/>
  260. </Trigger>
  261. <Trigger Property="IsSelected" Value="False">
  262. <Setter TargetName="SelectedBar" Property="Visibility" Value="Hidden" />
  263. <Setter TargetName="Content" Property="TextElement.Foreground" Value="Gray"/>
  264. <Setter TargetName="Content" Property="TextElement.FontWeight" Value="Bold"/>
  265. <Setter TargetName="Content" Property="TextElement.FontSize" Value="14"/>
  266. <!--<Setter TargetName="Content" Property="TextElement.FontSize" Value="12"/>-->
  267. </Trigger>
  268. </ControlTemplate.Triggers>
  269. </ControlTemplate>
  270. </Setter.Value>
  271. </Setter>
  272. </Style>
  273. <BorderGapMaskConverter x:Key="BorderGapMaskConverter"/>
  274. <Style TargetType="{x:Type GroupBox}">
  275. <Setter Property="BorderBrush" Value="{StaticResource DarkBorderColor}"/>
  276. <Setter Property="BorderThickness" Value="1"/>
  277. <Setter Property="Template">
  278. <Setter.Value>
  279. <ControlTemplate TargetType="{x:Type GroupBox}">
  280. <Grid SnapsToDevicePixels="true">
  281. <Grid.ColumnDefinitions>
  282. <ColumnDefinition Width="6"/>
  283. <ColumnDefinition Width="Auto"/>
  284. <ColumnDefinition Width="*"/>
  285. <ColumnDefinition Width="6"/>
  286. </Grid.ColumnDefinitions>
  287. <Grid.RowDefinitions>
  288. <RowDefinition Height="Auto"/>
  289. <RowDefinition Height="Auto"/>
  290. <RowDefinition Height="*"/>
  291. <RowDefinition Height="6"/>
  292. </Grid.RowDefinitions>
  293. <Border Background="{TemplateBinding Background}" BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="4" Grid.Column="0" Grid.ColumnSpan="4" Grid.RowSpan="3" Grid.Row="1"/>
  294. <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="4" Grid.ColumnSpan="4" Grid.RowSpan="3" Grid.Row="1">
  295. <Border.OpacityMask>
  296. <MultiBinding ConverterParameter="7" Converter="{StaticResource BorderGapMaskConverter}">
  297. <Binding ElementName="Header" Path="ActualWidth"/>
  298. <Binding Path="ActualWidth" RelativeSource="{RelativeSource Mode=Self}"/>
  299. <Binding Path="ActualHeight" RelativeSource="{RelativeSource Mode=Self}"/>
  300. </MultiBinding>
  301. </Border.OpacityMask>
  302. </Border>
  303. <Border x:Name="Header" Grid.Column="1" Padding="3,1,3,0" Grid.RowSpan="2" Grid.Row="0">
  304. <ContentPresenter ContentSource="Header" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
  305. </Border>
  306. <ContentPresenter Grid.Column="1" Grid.ColumnSpan="2" Margin="{TemplateBinding Padding}" Grid.Row="2" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
  307. </Grid>
  308. </ControlTemplate>
  309. </Setter.Value>
  310. </Setter>
  311. </Style>
  312. <SolidColorBrush x:Key="Expander.Static.Circle.Stroke" Color="#FF333333"/>
  313. <SolidColorBrush x:Key="Expander.Static.Circle.Fill" Color="#FFFFFFFF"/>
  314. <SolidColorBrush x:Key="Expander.Static.Arrow.Stroke" Color="#FF333333"/>
  315. <SolidColorBrush x:Key="Expander.MouseOver.Circle.Stroke" Color="#FF5593FF"/>
  316. <SolidColorBrush x:Key="Expander.MouseOver.Circle.Fill" Color="#FFF3F9FF"/>
  317. <SolidColorBrush x:Key="Expander.MouseOver.Arrow.Stroke" Color="#FF000000"/>
  318. <SolidColorBrush x:Key="Expander.Pressed.Circle.Stroke" Color="#FF3C77DD"/>
  319. <SolidColorBrush x:Key="Expander.Pressed.Circle.Fill" Color="#FFD9ECFF"/>
  320. <SolidColorBrush x:Key="Expander.Pressed.Arrow.Stroke" Color="#FF000000"/>
  321. <SolidColorBrush x:Key="Expander.Disabled.Circle.Stroke" Color="#FFBCBCBC"/>
  322. <SolidColorBrush x:Key="Expander.Disabled.Circle.Fill" Color="#FFE6E6E6"/>
  323. <SolidColorBrush x:Key="Expander.Disabled.Arrow.Stroke" Color="#FF707070"/>
  324. <Style x:Key="ExpanderHeaderFocusVisual">
  325. <Setter Property="Control.Template">
  326. <Setter.Value>
  327. <ControlTemplate>
  328. <Border>
  329. <Rectangle Margin="0" StrokeDashArray="1 2" Stroke="Black" SnapsToDevicePixels="true" StrokeThickness="1"/>
  330. </Border>
  331. </ControlTemplate>
  332. </Setter.Value>
  333. </Setter>
  334. </Style>
  335. <Style x:Key="ExpanderDownHeaderStyle" TargetType="{x:Type ToggleButton}">
  336. <Setter Property="Template">
  337. <Setter.Value>
  338. <ControlTemplate TargetType="{x:Type ToggleButton}">
  339. <Border Padding="{TemplateBinding Padding}">
  340. <Grid Background="Transparent" SnapsToDevicePixels="False">
  341. <Grid.ColumnDefinitions>
  342. <ColumnDefinition Width="auto"/>
  343. <ColumnDefinition Width="*"/>
  344. </Grid.ColumnDefinitions>
  345. <Image x:Name="Down" Source="{StaticResource Down}" Width="19" Margin="4,0,0,0"/>
  346. <Image x:Name="Up" Source="{StaticResource UP}" Width="19" Margin="4,0,0,0"/>
  347. <ContentPresenter Grid.Column="1" RecognizesAccessKey="True" SnapsToDevicePixels="True" VerticalAlignment="Center"/>
  348. </Grid>
  349. </Border>
  350. <ControlTemplate.Triggers>
  351. <Trigger Property="IsChecked" Value="true">
  352. <Setter TargetName="Down" Property="Visibility" Value="Collapsed"/>
  353. <Setter TargetName="Up" Property="Visibility" Value="Visible"/>
  354. </Trigger>
  355. <Trigger Property="IsChecked" Value="False">
  356. <Setter TargetName="Down" Property="Visibility" Value="Visible"/>
  357. <Setter TargetName="Up" Property="Visibility" Value="Collapsed"/>
  358. </Trigger>
  359. </ControlTemplate.Triggers>
  360. </ControlTemplate>
  361. </Setter.Value>
  362. </Setter>
  363. </Style>
  364. <Style x:Key="ExpanderUpHeaderStyle" TargetType="{x:Type ToggleButton}">
  365. <Setter Property="Template">
  366. <Setter.Value>
  367. <ControlTemplate TargetType="{x:Type ToggleButton}">
  368. <Border Padding="{TemplateBinding Padding}">
  369. <Grid Background="Transparent" SnapsToDevicePixels="False">
  370. <Grid.ColumnDefinitions>
  371. <ColumnDefinition Width="19"/>
  372. <ColumnDefinition Width="*"/>
  373. </Grid.ColumnDefinitions>
  374. <Grid>
  375. <Grid.LayoutTransform>
  376. <TransformGroup>
  377. <TransformGroup.Children>
  378. <TransformCollection>
  379. <RotateTransform Angle="180"/>
  380. </TransformCollection>
  381. </TransformGroup.Children>
  382. </TransformGroup>
  383. </Grid.LayoutTransform>
  384. <Ellipse x:Name="circle" Fill="{StaticResource Expander.Static.Circle.Fill}" HorizontalAlignment="Center" Height="19" Stroke="{StaticResource Expander.Static.Circle.Stroke}" VerticalAlignment="Center" Width="19"/>
  385. <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"/>
  386. </Grid>
  387. <ContentPresenter Grid.Column="1" HorizontalAlignment="Left" Margin="4,0,0,0" RecognizesAccessKey="True" SnapsToDevicePixels="True" VerticalAlignment="Center"/>
  388. </Grid>
  389. </Border>
  390. <ControlTemplate.Triggers>
  391. <Trigger Property="IsChecked" Value="true">
  392. <Setter Property="Data" TargetName="arrow" Value="M 1,4.5 L 4.5,1 L 8,4.5"/>
  393. </Trigger>
  394. <Trigger Property="IsMouseOver" Value="true">
  395. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.MouseOver.Circle.Stroke}"/>
  396. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.MouseOver.Circle.Fill}"/>
  397. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.MouseOver.Arrow.Stroke}"/>
  398. </Trigger>
  399. <Trigger Property="IsPressed" Value="true">
  400. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.Pressed.Circle.Stroke}"/>
  401. <Setter Property="StrokeThickness" TargetName="circle" Value="1.5"/>
  402. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.Pressed.Circle.Fill}"/>
  403. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.Pressed.Arrow.Stroke}"/>
  404. </Trigger>
  405. <Trigger Property="IsEnabled" Value="false">
  406. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.Disabled.Circle.Stroke}"/>
  407. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.Disabled.Circle.Fill}"/>
  408. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.Disabled.Arrow.Stroke}"/>
  409. </Trigger>
  410. </ControlTemplate.Triggers>
  411. </ControlTemplate>
  412. </Setter.Value>
  413. </Setter>
  414. </Style>
  415. <Style x:Key="ExpanderLeftHeaderStyle" TargetType="{x:Type ToggleButton}">
  416. <Setter Property="Template">
  417. <Setter.Value>
  418. <ControlTemplate TargetType="{x:Type ToggleButton}">
  419. <Border Padding="{TemplateBinding Padding}">
  420. <Grid Background="Transparent" SnapsToDevicePixels="False">
  421. <Grid.RowDefinitions>
  422. <RowDefinition Height="19"/>
  423. <RowDefinition Height="*"/>
  424. </Grid.RowDefinitions>
  425. <Grid>
  426. <Grid.LayoutTransform>
  427. <TransformGroup>
  428. <TransformGroup.Children>
  429. <TransformCollection>
  430. <RotateTransform Angle="90"/>
  431. </TransformCollection>
  432. </TransformGroup.Children>
  433. </TransformGroup>
  434. </Grid.LayoutTransform>
  435. <Ellipse x:Name="circle" Fill="{StaticResource Expander.Static.Circle.Fill}" HorizontalAlignment="Center" Height="19" Stroke="{StaticResource Expander.Static.Circle.Stroke}" VerticalAlignment="Center" Width="19"/>
  436. <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"/>
  437. </Grid>
  438. <ContentPresenter HorizontalAlignment="Center" Margin="0,4,0,0" RecognizesAccessKey="True" Grid.Row="1" SnapsToDevicePixels="True" VerticalAlignment="Top"/>
  439. </Grid>
  440. </Border>
  441. <ControlTemplate.Triggers>
  442. <Trigger Property="IsChecked" Value="true">
  443. <Setter Property="Data" TargetName="arrow" Value="M 1,4.5 L 4.5,1 L 8,4.5"/>
  444. </Trigger>
  445. <Trigger Property="IsMouseOver" Value="true">
  446. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.MouseOver.Circle.Stroke}"/>
  447. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.MouseOver.Circle.Fill}"/>
  448. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.MouseOver.Arrow.Stroke}"/>
  449. </Trigger>
  450. <Trigger Property="IsPressed" Value="true">
  451. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.Pressed.Circle.Stroke}"/>
  452. <Setter Property="StrokeThickness" TargetName="circle" Value="1.5"/>
  453. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.Pressed.Circle.Fill}"/>
  454. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.Pressed.Arrow.Stroke}"/>
  455. </Trigger>
  456. <Trigger Property="IsEnabled" Value="false">
  457. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.Disabled.Circle.Stroke}"/>
  458. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.Disabled.Circle.Fill}"/>
  459. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.Disabled.Arrow.Stroke}"/>
  460. </Trigger>
  461. </ControlTemplate.Triggers>
  462. </ControlTemplate>
  463. </Setter.Value>
  464. </Setter>
  465. </Style>
  466. <Style x:Key="ExpanderRightHeaderStyle" TargetType="{x:Type ToggleButton}">
  467. <Setter Property="Template">
  468. <Setter.Value>
  469. <ControlTemplate TargetType="{x:Type ToggleButton}">
  470. <Border Padding="{TemplateBinding Padding}">
  471. <Grid Background="Transparent" SnapsToDevicePixels="False">
  472. <Grid.RowDefinitions>
  473. <RowDefinition Height="19"/>
  474. <RowDefinition Height="*"/>
  475. </Grid.RowDefinitions>
  476. <Grid>
  477. <Grid.LayoutTransform>
  478. <TransformGroup>
  479. <TransformGroup.Children>
  480. <TransformCollection>
  481. <RotateTransform Angle="-90"/>
  482. </TransformCollection>
  483. </TransformGroup.Children>
  484. </TransformGroup>
  485. </Grid.LayoutTransform>
  486. <Ellipse x:Name="circle" Fill="{StaticResource Expander.Static.Circle.Fill}" HorizontalAlignment="Center" Height="19" Stroke="{StaticResource Expander.Static.Circle.Stroke}" VerticalAlignment="Center" Width="19"/>
  487. <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"/>
  488. </Grid>
  489. <ContentPresenter HorizontalAlignment="Center" Margin="0,4,0,0" RecognizesAccessKey="True" Grid.Row="1" SnapsToDevicePixels="True" VerticalAlignment="Top"/>
  490. </Grid>
  491. </Border>
  492. <ControlTemplate.Triggers>
  493. <Trigger Property="IsChecked" Value="true">
  494. <Setter Property="Data" TargetName="arrow" Value="M 1,4.5 L 4.5,1 L 8,4.5"/>
  495. </Trigger>
  496. <Trigger Property="IsMouseOver" Value="true">
  497. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.MouseOver.Circle.Stroke}"/>
  498. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.MouseOver.Circle.Fill}"/>
  499. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.MouseOver.Arrow.Stroke}"/>
  500. </Trigger>
  501. <Trigger Property="IsPressed" Value="true">
  502. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.Pressed.Circle.Stroke}"/>
  503. <Setter Property="StrokeThickness" TargetName="circle" Value="1.5"/>
  504. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.Pressed.Circle.Fill}"/>
  505. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.Pressed.Arrow.Stroke}"/>
  506. </Trigger>
  507. <Trigger Property="IsEnabled" Value="false">
  508. <Setter Property="Stroke" TargetName="circle" Value="{StaticResource Expander.Disabled.Circle.Stroke}"/>
  509. <Setter Property="Fill" TargetName="circle" Value="{StaticResource Expander.Disabled.Circle.Fill}"/>
  510. <Setter Property="Stroke" TargetName="arrow" Value="{StaticResource Expander.Disabled.Arrow.Stroke}"/>
  511. </Trigger>
  512. </ControlTemplate.Triggers>
  513. </ControlTemplate>
  514. </Setter.Value>
  515. </Setter>
  516. </Style>
  517. <Style x:Key="ExpanderStyle1" TargetType="{x:Type Expander}">
  518. <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
  519. <Setter Property="Background" Value="Transparent"/>
  520. <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
  521. <Setter Property="VerticalContentAlignment" Value="Stretch"/>
  522. <Setter Property="BorderBrush" Value="Transparent"/>
  523. <Setter Property="BorderThickness" Value="1"/>
  524. <Setter Property="Template">
  525. <Setter.Value>
  526. <ControlTemplate TargetType="{x:Type Expander}">
  527. <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="3" SnapsToDevicePixels="true">
  528. <DockPanel>
  529. <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}"/>
  530. <ContentPresenter x:Name="ExpandSite" DockPanel.Dock="Bottom" Focusable="false" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Visibility="Collapsed"/>
  531. </DockPanel>
  532. </Border>
  533. <ControlTemplate.Triggers>
  534. <Trigger Property="IsExpanded" Value="true">
  535. <Setter Property="Visibility" TargetName="ExpandSite" Value="Visible"/>
  536. </Trigger>
  537. <Trigger Property="ExpandDirection" Value="Right">
  538. <Setter Property="DockPanel.Dock" TargetName="ExpandSite" Value="Right"/>
  539. <Setter Property="DockPanel.Dock" TargetName="HeaderSite" Value="Left"/>
  540. <Setter Property="Style" TargetName="HeaderSite" Value="{StaticResource ExpanderRightHeaderStyle}"/>
  541. </Trigger>
  542. <Trigger Property="ExpandDirection" Value="Up">
  543. <Setter Property="DockPanel.Dock" TargetName="ExpandSite" Value="Top"/>
  544. <Setter Property="DockPanel.Dock" TargetName="HeaderSite" Value="Bottom"/>
  545. <Setter Property="Style" TargetName="HeaderSite" Value="{StaticResource ExpanderUpHeaderStyle}"/>
  546. </Trigger>
  547. <Trigger Property="ExpandDirection" Value="Left">
  548. <Setter Property="DockPanel.Dock" TargetName="ExpandSite" Value="Left"/>
  549. <Setter Property="DockPanel.Dock" TargetName="HeaderSite" Value="Right"/>
  550. <Setter Property="Style" TargetName="HeaderSite" Value="{StaticResource ExpanderLeftHeaderStyle}"/>
  551. </Trigger>
  552. <Trigger Property="IsEnabled" Value="false">
  553. <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
  554. </Trigger>
  555. </ControlTemplate.Triggers>
  556. </ControlTemplate>
  557. </Setter.Value>
  558. </Setter>
  559. </Style>
  560. <Style TargetType="{x:Type DataGrid}">
  561. <Setter Property="BorderBrush" Value="#FF688CAF"/>
  562. <Setter Property="BorderThickness" Value="1"/>
  563. <Setter Property="RowDetailsVisibilityMode" Value="VisibleWhenSelected"/>
  564. <Setter Property="ScrollViewer.CanContentScroll" Value="true"/>
  565. <Setter Property="ScrollViewer.PanningMode" Value="Both"/>
  566. <Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
  567. <Setter Property="AutoGenerateColumns" Value="False"/>
  568. <Setter Property="AlternationCount" Value="2"/>
  569. <Setter Property="Template">
  570. <Setter.Value>
  571. <ControlTemplate TargetType="{x:Type DataGrid}">
  572. <Grid>
  573. <Border Background="{TemplateBinding Background}" CornerRadius="0">
  574. <Border.Effect>
  575. <DropShadowEffect ShadowDepth="0" Direction="0" Color="#FFDADADA"/>
  576. </Border.Effect>
  577. </Border>
  578. <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
  579. <ScrollViewer x:Name="DG_ScrollViewer" Focusable="false">
  580. <ScrollViewer.Template>
  581. <ControlTemplate TargetType="{x:Type ScrollViewer}">
  582. <Grid>
  583. <Grid.ColumnDefinitions>
  584. <ColumnDefinition Width="Auto"/>
  585. <ColumnDefinition Width="*"/>
  586. <ColumnDefinition Width="Auto"/>
  587. </Grid.ColumnDefinitions>
  588. <Grid.RowDefinitions>
  589. <RowDefinition Height="Auto"/>
  590. <RowDefinition Height="*"/>
  591. <RowDefinition Height="Auto"/>
  592. </Grid.RowDefinitions>
  593. <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}}}"/>
  594. <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}}}"/>
  595. <ScrollContentPresenter x:Name="PART_ScrollContentPresenter" CanContentScroll="{TemplateBinding CanContentScroll}" Grid.ColumnSpan="2" Grid.Row="1"/>
  596. <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}"/>
  597. <Grid Grid.Column="1" Grid.Row="2">
  598. <Grid.ColumnDefinitions>
  599. <ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
  600. <ColumnDefinition Width="*"/>
  601. </Grid.ColumnDefinitions>
  602. <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}"/>
  603. </Grid>
  604. </Grid>
  605. </ControlTemplate>
  606. </ScrollViewer.Template>
  607. <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
  608. </ScrollViewer>
  609. </Border>
  610. </Grid>
  611. </ControlTemplate>
  612. </Setter.Value>
  613. </Setter>
  614. <Style.Triggers>
  615. <MultiTrigger>
  616. <MultiTrigger.Conditions>
  617. <Condition Property="IsGrouping" Value="true"/>
  618. <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping" Value="false"/>
  619. </MultiTrigger.Conditions>
  620. <Setter Property="ScrollViewer.CanContentScroll" Value="false"/>
  621. </MultiTrigger>
  622. </Style.Triggers>
  623. </Style>
  624. <Style TargetType="DataGridColumnHeader">
  625. <Setter Property="Background" Value="Transparent"/>
  626. <Setter Property="VerticalContentAlignment" Value="Center"/>
  627. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  628. <Setter Property="Template">
  629. <Setter.Value>
  630. <ControlTemplate TargetType="DataGridColumnHeader">
  631. <Grid Background="{TemplateBinding Background}">
  632. <!--<Grid.ColumnDefinitions>
  633. <ColumnDefinition/>
  634. <ColumnDefinition Width="20"/>
  635. </Grid.ColumnDefinitions>-->
  636. <ContentPresenter Margin="0 2 0 2" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/>
  637. <!--<TextBlock Grid.Column="1" x:Name="SortArrow" Visibility="Visible" VerticalAlignment="Center" FontFamily="/DataGrid;component/Fonts/#FontAwesome"/>-->
  638. </Grid>
  639. <!--<ControlTemplate.Triggers>
  640. <Trigger Property="SortDirection" Value="Ascending">
  641. <Setter TargetName="SortArrow" Property="Visibility" Value="Visible" />
  642. <Setter TargetName="SortArrow" Property="Text" Value="&#xf160;" />
  643. </Trigger>
  644. <Trigger Property="SortDirection" Value="Descending">
  645. <Setter TargetName="SortArrow" Property="Visibility" Value="Visible" />
  646. <Setter TargetName="SortArrow" Property="Text" Value="&#xf161;" />
  647. </Trigger>
  648. </ControlTemplate.Triggers>-->
  649. </ControlTemplate>
  650. </Setter.Value>
  651. </Setter>
  652. </Style>
  653. <Style TargetType="DataGridRow">
  654. <Setter Property="Cursor" Value="Hand"/>
  655. <Setter Property="Template" >
  656. <Setter.Value>
  657. <ControlTemplate TargetType="DataGridRow">
  658. <Grid >
  659. <Border x:Name="border" Background="{TemplateBinding Background}" BorderThickness="1" BorderBrush="Transparent"/>
  660. <DataGridCellsPresenter />
  661. </Grid>
  662. <ControlTemplate.Triggers>
  663. <Trigger Property="IsMouseOver" Value="True">
  664. <Setter Property="BorderBrush" TargetName="border" Value="#00BCD4"/>
  665. </Trigger>
  666. <Trigger Property="IsSelected" Value="true">
  667. <Setter Property="BorderBrush" TargetName="border" Value="#00BCD4"/>
  668. </Trigger>
  669. </ControlTemplate.Triggers>
  670. </ControlTemplate>
  671. </Setter.Value>
  672. </Setter>
  673. <Style.Triggers>
  674. <Trigger Property="ItemsControl.AlternationIndex"
  675. Value="0">
  676. <Setter Property="Background" Value="Transparent" />
  677. </Trigger>
  678. <Trigger Property="ItemsControl.AlternationIndex"
  679. Value="1">
  680. <Setter Property="Background" Value="Transparent" />
  681. </Trigger>
  682. </Style.Triggers>
  683. </Style>
  684. <Style TargetType="DataGridCell">
  685. <Setter Property="Background" Value="Transparent"/>
  686. <Setter Property="VerticalContentAlignment" Value="Center"/>
  687. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  688. <Setter Property="Template">
  689. <Setter.Value>
  690. <ControlTemplate TargetType="DataGridCell">
  691. <Grid Background="{TemplateBinding Background}">
  692. <ContentPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/>
  693. </Grid>
  694. <ControlTemplate.Triggers>
  695. <Trigger Property="IsSelected" Value="true">
  696. <Setter Property="Foreground" Value="Black" />
  697. </Trigger>
  698. </ControlTemplate.Triggers>
  699. </ControlTemplate>
  700. </Setter.Value>
  701. </Setter>
  702. </Style>
  703. </ResourceDictionary>