LeaveCalendar.xaml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. <UserControl x:Class="PRSDesktop.LeaveCalendar"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
  7. mc:Ignorable="d"
  8. d:DesignHeight="450" d:DesignWidth="800">
  9. <UserControl.Resources>
  10. <Style x:Key="DateHeaderStyle" TargetType="{x:Type syncfusion:GridHeaderCellControl}">
  11. <Setter Property="Background" Value="LightSkyBlue"/>
  12. <Setter Property="Foreground" Value="Black"/>
  13. <Setter Property="BorderBrush" Value="Black"/>
  14. <Setter Property="BorderThickness" Value="0.5,0.5,0.5,0.5"/>
  15. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  16. <Setter Property="Padding" Value="5,3"/>
  17. <Setter Property="FontFamily" Value="Segoe UI"/>
  18. <Setter Property="FontSize" Value="14"/>
  19. <Setter Property="FontWeight" Value="Normal"/>
  20. <Setter Property="IsTabStop" Value="False"/>
  21. </Style>
  22. <Style x:Key="ContentHeaderStyle" TargetType="{x:Type syncfusion:GridHeaderCellControl}">
  23. <Setter Property="Background" Value="LightSkyBlue"/>
  24. <Setter Property="Foreground" Value="Black"/>
  25. <Setter Property="BorderBrush" Value="Black"/>
  26. <Setter Property="BorderThickness" Value="0.5,0.5,0.5,0.5"/>
  27. <Setter Property="HorizontalContentAlignment" Value="Left"/>
  28. <Setter Property="Padding" Value="5,3"/>
  29. <Setter Property="FontFamily" Value="Segoe UI"/>
  30. <Setter Property="FontSize" Value="14"/>
  31. <Setter Property="FontWeight" Value="Normal"/>
  32. <Setter Property="IsTabStop" Value="False"/>
  33. <Setter Property="Template">
  34. <Setter.Value>
  35. <ControlTemplate TargetType="{x:Type syncfusion:GridHeaderCellControl}">
  36. <Grid>
  37. <Grid.LayoutTransform>
  38. <RotateTransform Angle="270"/>
  39. </Grid.LayoutTransform>
  40. <VisualStateManager.VisualStateGroups>
  41. <VisualStateGroup x:Name="HiddenColumnsResizingStates">
  42. <VisualState x:Name="PreviousColumnHidden">
  43. <Storyboard>
  44. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0" Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="PART_HeaderCellBorder">
  45. <EasingThicknessKeyFrame KeyTime="0" Value="3,0,1,1"/>
  46. </ThicknessAnimationUsingKeyFrames>
  47. </Storyboard>
  48. </VisualState>
  49. <VisualState x:Name="HiddenState">
  50. <Storyboard>
  51. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0" Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="PART_HeaderCellBorder">
  52. <EasingThicknessKeyFrame KeyTime="0" Value="3,0,3,1"/>
  53. </ThicknessAnimationUsingKeyFrames>
  54. </Storyboard>
  55. </VisualState>
  56. <VisualState x:Name="NormalState"/>
  57. <VisualState x:Name="LastColumnHidden">
  58. <Storyboard>
  59. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0" Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="PART_HeaderCellBorder">
  60. <EasingThicknessKeyFrame KeyTime="0" Value="0,0,3,1"/>
  61. </ThicknessAnimationUsingKeyFrames>
  62. </Storyboard>
  63. </VisualState>
  64. </VisualStateGroup>
  65. <VisualStateGroup x:Name="CommonStates">
  66. <VisualState x:Name="MouseOver"/>
  67. <VisualState x:Name="Normal"/>
  68. </VisualStateGroup>
  69. <VisualStateGroup x:Name="BorderStates">
  70. <VisualState x:Name="NormalCell"/>
  71. <VisualState x:Name="FooterColumnCell">
  72. <Storyboard BeginTime="0">
  73. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0" Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="PART_FooterCellBorder">
  74. <EasingThicknessKeyFrame KeyTime="0" Value="1,0,1,1"/>
  75. </ThicknessAnimationUsingKeyFrames>
  76. </Storyboard>
  77. </VisualState>
  78. <VisualState x:Name="BeforeFooterColumnCell">
  79. <Storyboard BeginTime="0">
  80. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0" Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="PART_FooterCellBorder">
  81. <EasingThicknessKeyFrame KeyTime="0" Value="0,0,0,1"/>
  82. </ThicknessAnimationUsingKeyFrames>
  83. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0" Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="PART_HeaderCellBorder">
  84. <EasingThicknessKeyFrame KeyTime="0" Value="0,0,0,1"/>
  85. </ThicknessAnimationUsingKeyFrames>
  86. </Storyboard>
  87. </VisualState>
  88. </VisualStateGroup>
  89. </VisualStateManager.VisualStateGroups>
  90. <Border x:Name="PART_FooterCellBorder" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}"/>
  91. <Border x:Name="PART_HeaderCellBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
  92. <Grid Margin="{TemplateBinding Padding}" SnapsToDevicePixels="True">
  93. <Grid.ColumnDefinitions>
  94. <ColumnDefinition Width="*"/>
  95. <ColumnDefinition Width="Auto"/>
  96. <ColumnDefinition Width="Auto"/>
  97. </Grid.ColumnDefinitions>
  98. <ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" Focusable="False" HorizontalAlignment="Left" VerticalAlignment="Bottom"/>
  99. <Grid x:Name="PART_SortButtonPresenter" Grid.Column="1" SnapsToDevicePixels="True">
  100. <Grid.ColumnDefinitions>
  101. <ColumnDefinition Width="*">
  102. <ColumnDefinition.MinWidth>
  103. <Binding Mode="OneWay" Path="SortDirection" RelativeSource="{RelativeSource TemplatedParent}">
  104. <Binding.Converter>
  105. <syncfusion:SortDirectionToWidthConverter/>
  106. </Binding.Converter>
  107. </Binding>
  108. </ColumnDefinition.MinWidth>
  109. </ColumnDefinition>
  110. <ColumnDefinition Width="*"/>
  111. </Grid.ColumnDefinitions>
  112. <TextBlock Grid.Column="1" Foreground="{TemplateBinding Foreground}" FontSize="10" Margin="0,-4,0,0" SnapsToDevicePixels="True" Text="{TemplateBinding SortNumber}" Visibility="{TemplateBinding SortNumberVisibility}" VerticalAlignment="Bottom"/>
  113. </Grid>
  114. <syncfusion:FilterToggleButton x:Name="PART_FilterToggleButton" Grid.Column="2" HorizontalAlignment="Stretch" SnapsToDevicePixels="True" Visibility="{TemplateBinding FilterIconVisiblity}" VerticalAlignment="Stretch"/>
  115. <Border x:Name="PART_FilterPopUpPresenter"/>
  116. </Grid>
  117. </Border>
  118. </Grid>
  119. </ControlTemplate>
  120. </Setter.Value>
  121. </Setter>
  122. </Style>
  123. <ControlTemplate x:Key="HorizontalSplitter">
  124. <Grid Background="{TemplateBinding Background}" Height="4">
  125. <Grid.ColumnDefinitions>
  126. <ColumnDefinition Width="*" />
  127. <ColumnDefinition Width="Auto" />
  128. <ColumnDefinition Width="*" />
  129. </Grid.ColumnDefinitions>
  130. <Button Grid.Column="0" x:Name="PART_Left" Visibility="Collapsed" />
  131. <StackPanel Grid.Column="1" Margin="0" Orientation="Horizontal" HorizontalAlignment="Center"
  132. VerticalAlignment="Center">
  133. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  134. Margin="2,0,0,0" />
  135. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  136. Margin="2,0,0,0" />
  137. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  138. Margin="2,0,0,0" />
  139. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  140. Margin="2,0,0,0" />
  141. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  142. Margin="2,0,0,0" />
  143. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  144. Margin="2,0,0,0" />
  145. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  146. Margin="2,0,0,0" />
  147. </StackPanel>
  148. <Button Grid.Column="2" x:Name="PART_Right" Visibility="Collapsed" />
  149. </Grid>
  150. </ControlTemplate>
  151. </UserControl.Resources>
  152. <Grid>
  153. <Grid.ColumnDefinitions>
  154. <ColumnDefinition Width="*" />
  155. <ColumnDefinition Width="200" />
  156. </Grid.ColumnDefinitions>
  157. <Grid.RowDefinitions>
  158. <RowDefinition Height="*" />
  159. <RowDefinition Height="Auto" />
  160. </Grid.RowDefinitions>
  161. <syncfusion:SfDataGrid
  162. x:Name="dataGrid"
  163. Grid.Row="0"
  164. Grid.Column="0"
  165. AutoGenerateColumns="True"
  166. AutoGeneratingColumn="DataGrid_AutoGeneratingColumn"
  167. RowHeight="30"
  168. AllowSorting="False"
  169. HeaderRowHeight="150"
  170. ContextMenuOpening="DataGrid_ContextMenuOpening"
  171. SelectionUnit="Cell"
  172. NavigationMode="Cell"
  173. FrozenColumnCount="1"
  174. CanMaintainScrollPosition="True"
  175. SelectionMode="Extended"
  176. SelectionForegroundBrush="Yellow"
  177. RowSelectionBrush="Red">
  178. <syncfusion:SfDataGrid.ContextMenu>
  179. <ContextMenu />
  180. </syncfusion:SfDataGrid.ContextMenu>
  181. </syncfusion:SfDataGrid>
  182. <Grid x:Name="EmployeeGrid" Margin="5,0,0,0" Grid.Column="1" Grid.Row="0">
  183. <Grid.RowDefinitions>
  184. <RowDefinition Height="Auto" />
  185. <RowDefinition Height="200" />
  186. <RowDefinition Height="4" />
  187. <RowDefinition Height="*" />
  188. <RowDefinition Height="Auto" />
  189. <RowDefinition Height="Auto" />
  190. <RowDefinition Height="Auto"></RowDefinition>
  191. </Grid.RowDefinitions>
  192. <Grid.ColumnDefinitions>
  193. <ColumnDefinition Width="Auto" />
  194. <ColumnDefinition Width="*" />
  195. </Grid.ColumnDefinitions>
  196. <ComboBox Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" x:Name="Teams" DisplayMemberPath="Value" SelectedValuePath="Key"
  197. SelectionChanged="GroupsSelectionChanged" VerticalAlignment="Center" Margin="0,0,0,4" />
  198. <syncfusion:CheckListBox Grid.Row="1" Grid.ColumnSpan="2" x:Name="SelectedTeams" DisplayMemberPath="Value"
  199. SelectedValuePath="Key" IsSelectAllEnabled="False" IsCheckOnFirstClick="True"
  200. Margin="0,0,0,2" ItemChecked="SelectedTeams_ItemChecked"
  201. SizeChanged="SelectedTeams_SizeChanged" />
  202. <syncfusion:SfGridSplitter Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2"
  203. ResizeBehavior="PreviousAndNext" Height="4" HorizontalAlignment="Stretch"
  204. Background="Transparent" Template="{StaticResource HorizontalSplitter}">
  205. <syncfusion:SfGridSplitter.PreviewStyle>
  206. <Style TargetType="Control">
  207. <Setter Property="Background" Value="Gray" />
  208. <Setter Property="Template">
  209. <Setter.Value>
  210. <ControlTemplate TargetType="Control">
  211. <Grid x:Name="Root" Opacity="0.5">
  212. <Rectangle Fill="{TemplateBinding Background}" />
  213. </Grid>
  214. </ControlTemplate>
  215. </Setter.Value>
  216. </Setter>
  217. </Style>
  218. </syncfusion:SfGridSplitter.PreviewStyle>
  219. </syncfusion:SfGridSplitter>
  220. <syncfusion:CheckListBox Grid.Row="3" Grid.ColumnSpan="2" x:Name="SelectedEmployees"
  221. DisplayMemberPath="Value" SelectedValuePath="Key" IsCheckOnFirstClick="True"
  222. SelectionChanged="EmployeesSelectionChanged" Margin="0,2,0,0" />
  223. <Label Content="From" Grid.Row="4" Margin="0,5,0,0" />
  224. <syncfusion:DateTimeEdit x:Name="StartDate" DateTimeChanged="DateTimeChanged" Grid.Row="4" Grid.Column="1"
  225. Pattern="CustomPattern" CustomPattern="dd MMMM yy" Margin="5,5,0,0" />
  226. <Label Content="To" Grid.Row="5" Margin="0,5,0,0" />
  227. <syncfusion:DateTimeEdit x:Name="EndDate" DateTimeChanged="DateTimeChanged" Grid.Row="5" Grid.Column="1"
  228. Pattern="CustomPattern" CustomPattern="dd MMMM yy" Margin="5,5,0,0" />
  229. <Button x:Name="Export" Grid.Row="6" Grid.Column="0" Grid.ColumnSpan="2" Margin="0,5,0,0" Content="Export Leave Data" Click="Export_Click"
  230. Padding="2" />
  231. </Grid>
  232. </Grid>
  233. </UserControl>