OtherStyle.xaml 46 KB

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