LeaveCalendar.xaml 16 KB

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