App.xaml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. <Application x:Class="PRSDesktop.App"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
  5. xmlns:themes="clr-namespace:InABox.WPF.Themes;assembly=InABox.Wpf"
  6. xmlns:fluent="urn:fluent-ribbon"
  7. xmlns:prsDesktop="clr-namespace:PRSDesktop">
  8. <Application.Resources>
  9. <ResourceDictionary>
  10. <themes:ThemeManager x:Key="Theme"/>
  11. <ResourceDictionary.MergedDictionaries>
  12. <ResourceDictionary Source="pack://application:,,,/Fluent;Component/Themes/Generic.xaml" />
  13. <ResourceDictionary>
  14. <Style TargetType="fluent:RibbonTabItem">
  15. <Setter Property="HeaderPadding" Value="20,0,20,0" />
  16. <Setter Property="Margin" Value="0,0,5,0" />
  17. <Setter Property="MinWidth" Value="80"/>
  18. <Setter Property="Height" Value="30" />
  19. </Style>
  20. <Style TargetType="fluent:Button">
  21. <Setter Property="MinWidth" Value="60" />
  22. </Style>
  23. <Style TargetType="fluent:Backstage">
  24. <Setter Property="Height" Value="30" />
  25. <Setter Property="Margin" Value="0,0,5,0" />
  26. <!-- <Setter Property="MinWidth" Value="100"/> -->
  27. <Setter Property="Padding" Value="20,0,20,0" />
  28. </Style>
  29. <ControlTemplate x:Key="VerticalSplitter">
  30. <Grid Background="{TemplateBinding Background}" Width="4">
  31. <Button x:Name="PART_Left" Visibility="Collapsed" />
  32. <Button x:Name="PART_Right" Visibility="Collapsed" />
  33. <StackPanel Margin="0" Orientation="Vertical" VerticalAlignment="Center"
  34. HorizontalAlignment="Center">
  35. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  36. Margin="0,2,0,0" />
  37. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  38. Margin="0,2,0,0" />
  39. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  40. Margin="0,2,0,0" />
  41. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  42. Margin="0,2,0,0" />
  43. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  44. Margin="0,2,0,0" />
  45. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  46. Margin="0,2,0,0" />
  47. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  48. Margin="0,2,0,0" />
  49. </StackPanel>
  50. </Grid>
  51. </ControlTemplate>
  52. <ControlTemplate x:Key="HorizontalSplitter">
  53. <Grid Background="{TemplateBinding Background}" Height="4">
  54. <Grid.ColumnDefinitions>
  55. <ColumnDefinition Width="*" />
  56. <ColumnDefinition Width="Auto" />
  57. <ColumnDefinition Width="*" />
  58. </Grid.ColumnDefinitions>
  59. <Button Grid.Column="0" x:Name="PART_Left" Visibility="Collapsed" />
  60. <StackPanel Grid.Column="1" Margin="0" Orientation="Horizontal"
  61. HorizontalAlignment="Center"
  62. VerticalAlignment="Center">
  63. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  64. Margin="2,0,0,0" />
  65. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  66. Margin="2,0,0,0" />
  67. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  68. Margin="2,0,0,0" />
  69. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  70. Margin="2,0,0,0" />
  71. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  72. Margin="2,0,0,0" />
  73. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  74. Margin="2,0,0,0" />
  75. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  76. Margin="2,0,0,0" />
  77. </StackPanel>
  78. <Button Grid.Column="2" x:Name="PART_Right" Visibility="Collapsed" />
  79. </Grid>
  80. </ControlTemplate>
  81. <ControlTemplate x:Key="VerticalColumnHeader"
  82. TargetType="{x:Type syncfusion:GridHeaderCellControl}">
  83. <Grid>
  84. <Grid.LayoutTransform>
  85. <RotateTransform Angle="270" />
  86. </Grid.LayoutTransform>
  87. <VisualStateManager.VisualStateGroups>
  88. <VisualStateGroup x:Name="HiddenColumnsResizingStates">
  89. <VisualState x:Name="PreviousColumnHidden">
  90. <Storyboard>
  91. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0"
  92. Storyboard.TargetProperty="BorderThickness"
  93. Storyboard.TargetName="PART_HeaderCellBorder">
  94. <EasingThicknessKeyFrame KeyTime="0" Value="3,0,1,1" />
  95. </ThicknessAnimationUsingKeyFrames>
  96. </Storyboard>
  97. </VisualState>
  98. <VisualState x:Name="HiddenState">
  99. <Storyboard>
  100. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0"
  101. Storyboard.TargetProperty="BorderThickness"
  102. Storyboard.TargetName="PART_HeaderCellBorder">
  103. <EasingThicknessKeyFrame KeyTime="0" Value="3,0,3,1" />
  104. </ThicknessAnimationUsingKeyFrames>
  105. </Storyboard>
  106. </VisualState>
  107. <VisualState x:Name="NormalState" />
  108. <VisualState x:Name="LastColumnHidden">
  109. <Storyboard>
  110. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0"
  111. Storyboard.TargetProperty="BorderThickness"
  112. Storyboard.TargetName="PART_HeaderCellBorder">
  113. <EasingThicknessKeyFrame KeyTime="0" Value="0,0,3,1" />
  114. </ThicknessAnimationUsingKeyFrames>
  115. </Storyboard>
  116. </VisualState>
  117. </VisualStateGroup>
  118. <VisualStateGroup x:Name="CommonStates">
  119. <VisualState x:Name="MouseOver" />
  120. <VisualState x:Name="Normal" />
  121. </VisualStateGroup>
  122. <VisualStateGroup x:Name="BorderStates">
  123. <VisualState x:Name="NormalCell" />
  124. <VisualState x:Name="FooterColumnCell">
  125. <Storyboard BeginTime="0">
  126. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0"
  127. Storyboard.TargetProperty="BorderThickness"
  128. Storyboard.TargetName="PART_FooterCellBorder">
  129. <EasingThicknessKeyFrame KeyTime="0" Value="1,0,1,1" />
  130. </ThicknessAnimationUsingKeyFrames>
  131. </Storyboard>
  132. </VisualState>
  133. <VisualState x:Name="BeforeFooterColumnCell">
  134. <Storyboard BeginTime="0">
  135. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0"
  136. Storyboard.TargetProperty="BorderThickness"
  137. Storyboard.TargetName="PART_FooterCellBorder">
  138. <EasingThicknessKeyFrame KeyTime="0" Value="0,0,0,1" />
  139. </ThicknessAnimationUsingKeyFrames>
  140. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0"
  141. Storyboard.TargetProperty="BorderThickness"
  142. Storyboard.TargetName="PART_HeaderCellBorder">
  143. <EasingThicknessKeyFrame KeyTime="0" Value="0,0,0,1" />
  144. </ThicknessAnimationUsingKeyFrames>
  145. </Storyboard>
  146. </VisualState>
  147. </VisualStateGroup>
  148. </VisualStateManager.VisualStateGroups>
  149. <Border x:Name="PART_FooterCellBorder" BorderBrush="{TemplateBinding BorderBrush}"
  150. Background="{TemplateBinding Background}" />
  151. <Border x:Name="PART_HeaderCellBorder" BorderBrush="{TemplateBinding BorderBrush}"
  152. BorderThickness="{TemplateBinding BorderThickness}"
  153. Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
  154. <Grid Margin="{TemplateBinding Padding}" SnapsToDevicePixels="True">
  155. <Grid.ColumnDefinitions>
  156. <ColumnDefinition Width="*" />
  157. <ColumnDefinition Width="Auto" />
  158. <ColumnDefinition Width="Auto" />
  159. </Grid.ColumnDefinitions>
  160. <ContentPresenter
  161. ContentTemplate="{TemplateBinding ContentTemplate}"
  162. ContentStringFormat="{TemplateBinding ContentStringFormat}" Focusable="False"
  163. HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
  164. VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
  165. <ContentPresenter.Content>
  166. <TextBlock Text="{Binding HeaderText}" TextWrapping="Wrap" />
  167. </ContentPresenter.Content>
  168. </ContentPresenter>
  169. <Grid x:Name="PART_SortButtonPresenter" Grid.Column="1" SnapsToDevicePixels="True">
  170. <Grid.ColumnDefinitions>
  171. <ColumnDefinition Width="*">
  172. <ColumnDefinition.MinWidth>
  173. <Binding Mode="OneWay" Path="SortDirection"
  174. RelativeSource="{RelativeSource TemplatedParent}">
  175. <Binding.Converter>
  176. <syncfusion:SortDirectionToWidthConverter />
  177. </Binding.Converter>
  178. </Binding>
  179. </ColumnDefinition.MinWidth>
  180. </ColumnDefinition>
  181. <ColumnDefinition Width="*" />
  182. </Grid.ColumnDefinitions>
  183. <TextBlock Grid.Column="1" Foreground="{TemplateBinding Foreground}"
  184. FontSize="10" Margin="0,-4,0,0" SnapsToDevicePixels="True"
  185. Text="{TemplateBinding SortNumber}"
  186. Visibility="{TemplateBinding SortNumberVisibility}"
  187. VerticalAlignment="Bottom" />
  188. </Grid>
  189. <syncfusion:FilterToggleButton x:Name="PART_FilterToggleButton" Grid.Column="2"
  190. HorizontalAlignment="Stretch"
  191. SnapsToDevicePixels="True"
  192. Visibility="{TemplateBinding FilterIconVisiblity}"
  193. VerticalAlignment="Stretch">
  194. <syncfusion:FilterToggleButton.LayoutTransform>
  195. <RotateTransform Angle="90" />
  196. </syncfusion:FilterToggleButton.LayoutTransform>
  197. </syncfusion:FilterToggleButton>
  198. <Border x:Name="PART_FilterPopUpPresenter">
  199. <Border.LayoutTransform>
  200. <RotateTransform Angle="90" />
  201. </Border.LayoutTransform>
  202. </Border>
  203. </Grid>
  204. </Border>
  205. </Grid>
  206. </ControlTemplate>
  207. <Style x:Key="HorizontalSplitterPreview" TargetType="Control">
  208. <Setter Property="Background" Value="Gray" />
  209. <Setter Property="Template">
  210. <Setter.Value>
  211. <ControlTemplate TargetType="Control">
  212. <Grid x:Name="Root" Opacity="0.5">
  213. <Rectangle Fill="{TemplateBinding Background}" />
  214. </Grid>
  215. </ControlTemplate>
  216. </Setter.Value>
  217. </Setter>
  218. </Style>
  219. </ResourceDictionary>
  220. </ResourceDictionary.MergedDictionaries>
  221. </ResourceDictionary>
  222. </Application.Resources>
  223. </Application>