Workers.xaml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <Page x:Class="LR1.Workers"
  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:local="clr-namespace:LR1"
  7. xmlns:command="clr-namespace:LR1.Commands"
  8. xmlns:core ="clr-namespace:LR1.Model"
  9. xmlns:rule ="clr-namespace:LR1.ValidationRules"
  10. mc:Ignorable="d"
  11. d:DesignHeight="500" d:DesignWidth="800"
  12. Title="Workers" Loaded="Page_Loaded">
  13. <Page.Resources>
  14. <core:ListTitle x:Key="ListTitle" />
  15. </Page.Resources>
  16. <Grid Background="{DynamicResource BackgroundStyle}">
  17. <Border Name="BorderFind" Height="150" Width="350" VerticalAlignment="Top" HorizontalAlignment="Right" Margin="10" BorderBrush="#FF082E05" BorderThickness="2" CornerRadius="7" Visibility="Hidden">
  18. <Border.Background>
  19. <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
  20. <GradientStop Color="#FF72F0D9" Offset="1"/>
  21. <GradientStop Color="#FF8FE297" Offset="0"/>
  22. </LinearGradientBrush>
  23. </Border.Background>
  24. <Grid>
  25. <Grid.ColumnDefinitions>
  26. <ColumnDefinition/>
  27. <ColumnDefinition/>
  28. <ColumnDefinition/>
  29. </Grid.ColumnDefinitions>
  30. <Grid.RowDefinitions>
  31. <RowDefinition/>
  32. <RowDefinition/>
  33. <RowDefinition/>
  34. </Grid.RowDefinitions>
  35. <TextBlock x:Name="Find" Text="Поиск" FontSize="22" Height="30" Width="80" FontWeight="Bold" Grid.Column="1"/>
  36. <TextBlock Name="TextBlockSurname" Text="Фамилия" FontSize="18" Height="25" Width="80" Grid.Row="1" HorizontalAlignment="Right" Margin="10"/>
  37. <TextBlock Name ="TextBlockTitle" Text="Должность" FontSize="18" Height="25" Width="100" Grid.Row="2" HorizontalAlignment="Right" Margin="5"/>
  38. <TextBox Name="TextBoxSurname" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" Height="30" Width="180" HorizontalAlignment="Left" TextChanged="TextBoxSurname_TextChanged"/>
  39. <ComboBox Name="ComboBoxTitle" ItemsSource="{Binding Source={StaticResource ListTitle}}" DisplayMemberPath="Title1" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2" Height="30" Width="180" HorizontalAlignment="Left" SelectionChanged="ComboBoxTitle_SelectionChanged"/>
  40. <Button Name="ButtonFindSurname" ToolTip="Поиск по фамилии" IsEnabled="False" Grid.Column="2" Grid.Row="1" Height="35" Width="35" HorizontalAlignment="Right" Margin="10,0" Click="ButtonFindSurname_Click">
  41. <Image Source="Images\Loopa.png" />
  42. </Button>
  43. <Button Name="ButtonFindTitle" ToolTip="Поиск по должности" IsEnabled="False" Grid.Column="2" Grid.Row="2" Height="35" Width="35" HorizontalAlignment="Right" Margin="10,0" Click="ButtonFindTitle_Click">
  44. <Image Source="Images\Loopa.png" />
  45. </Button>
  46. </Grid>
  47. </Border>
  48. <Menu Margin="17,10,0,0" Height="35" VerticalAlignment="Top" HorizontalAlignment="Left" Width="400">
  49. <Menu.Background>
  50. <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
  51. <GradientStop Color="#FFD9D6D6" Offset="1"/>
  52. <GradientStop Color="White" Offset="0"/>
  53. </LinearGradientBrush>
  54. </Menu.Background>
  55. <MenuItem Header="Действие" Height="35" Width="74" FontSize="14">
  56. <MenuItem Header="Отменить" Command="Undo"/>
  57. <MenuItem Header="Обновить" Command="Refresh"/>
  58. <Separator/>
  59. <MenuItem Header="Создать" Command="command:DataCommands.Add"/>
  60. <MenuItem Header="Редактировать" Command="command:DataCommands.Edit"/>
  61. <MenuItem Header="Сохранить" Command="command:DataCommands.Save"/>
  62. <MenuItem Header="Найти" Command="command:DataCommands.Find"/>
  63. <Separator/>
  64. <MenuItem Header="Удалить" Command="Delete"/>
  65. </MenuItem>
  66. <MenuItem Header="Отчет" FontSize="14"/>
  67. </Menu>
  68. <ToolBar HorizontalAlignment="Left" Height="35" Margin="15,50,0,0" VerticalAlignment="Top" Width="400">
  69. <Button x:Name="Undo" Command="Undo" ToolTip="Отменить редактирование/создание" Height="27" Width="30">
  70. <Image Source="Images\Undo.png" Style="{DynamicResource ImageStyle}"/>
  71. </Button>
  72. <Button x:Name="Add" Command="command:DataCommands.Add" ToolTip="Добавить/Создание" Height="27" Width="30">
  73. <Image Source="Images\Add.png" Style="{DynamicResource ImageStyle}"/>
  74. </Button>
  75. <Button x:Name="Edit" Command="command:DataCommands.Edit" ToolTip="Изменить/Редактировать" Height="27" Width="30">
  76. <Image Source="Images\Edit.png" Style="{DynamicResource ImageStyle}"/>
  77. </Button>
  78. <Button x:Name="Binocl" Command="command:DataCommands.Find" ToolTip="Поиск" Height="27" Width="30">
  79. <Image Source="Images\Binocl.png" Style="{DynamicResource ImageStyle}"/>
  80. </Button>
  81. <Button x:Name="Save" Command="command:DataCommands.Save" ToolTip="Сохранить" Height="27" Width="30">
  82. <Image Source="Images\Save.png" Style="{DynamicResource ImageStyle}"/>
  83. </Button>
  84. <Button x:Name="Delete" Command="Delete" ToolTip="Удалить" Height="27" Width="30">
  85. <Image Source="Images\Delete.png" Style="{DynamicResource ImageStyle}"/>
  86. </Button>
  87. </ToolBar>
  88. <DataGrid Margin="25,170,25,10" Name="DataGridEmployee" ItemsSource="{Binding}" AutoGenerateColumns="False" HorizontalAlignment="Left"
  89. MaxWidth="1000" MaxHeight="295" RowBackground="#FFE6D3EF" AlternatingRowBackground="#FC96CFD4" BorderBrush="#FF1F33EB"
  90. BorderThickness="3" IsReadOnly="True" RowHeight="25" Cursor="Hand" CanUserAddRows="False" CanUserDeleteRows="False">
  91. <DataGrid.RowValidationErrorTemplate>
  92. <ControlTemplate>
  93. <Grid Margin="0,-2,0,-2" ToolTip="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGridRow}},Path=(Validation.Errors)[0].ErrorContent}">
  94. <Ellipse StrokeThickness="0" Fill="Red" Width="{TemplateBinding FontSize}" Height="{TemplateBinding FontSize}"/>
  95. <TextBlock Text="!" FontSize="{TemplateBinding FontSize}" FontWeight="Bold" Foreground="White" HorizontalAlignment="Center"/>
  96. </Grid>
  97. </ControlTemplate>
  98. </DataGrid.RowValidationErrorTemplate>
  99. <DataGrid.Columns>
  100. <DataGridTextColumn Header="ID" Width="25" Binding="{Binding ID, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
  101. <DataGridTextColumn Header="Фамилия" Width="80" Binding="{Binding Surname, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
  102. <DataGridTextColumn Header="Имя" Width="80" Binding="{Binding Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
  103. <DataGridTextColumn Header="Отчество" Width="100" Binding="{Binding Patronymic, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
  104. <DataGridComboBoxColumn Header="Должность" Width="90" ItemsSource="{Binding Source={StaticResource ListTitle}}"
  105. DisplayMemberPath="Title1" SelectedValueBinding="{Binding Path=TitleID, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  106. SelectedValuePath="ID"/>
  107. <DataGridTemplateColumn Header="Дата рождения" Width="110"
  108. CellTemplate="{StaticResource DataTemplate}"
  109. CellEditingTemplate="{StaticResource EditingDataTemplate}"/>
  110. <DataGridTextColumn Header="Телефон" Width="120" Binding="{Binding Telephone, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
  111. <DataGridTextColumn Header="Электронная почта" Width="*" EditingElementStyle="{StaticResource errorStyle}">
  112. <DataGridTextColumn.Binding >
  113. <Binding Path="Email" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" ValidatesOnExceptions ="True" >
  114. <Binding.ValidationRules>
  115. <rule:EmailRule />
  116. </Binding.ValidationRules>
  117. </Binding>
  118. </DataGridTextColumn.Binding>
  119. </DataGridTextColumn>
  120. </DataGrid.Columns>
  121. </DataGrid>
  122. <Label Style="{DynamicResource LabaelStyle}" Content="Список сотрудников" HorizontalAlignment="Left" Margin="25,90,0,0" VerticalAlignment="Top"/>
  123. </Grid>
  124. <Page.CommandBindings>
  125. <CommandBinding Command="Refresh" Executed="RefreshCommandBinding_Executed"/>
  126. <CommandBinding Command="Undo" CanExecute="UndoCommandBinding_CanExecute" Executed="UndoCommandBinding_Executed"/>
  127. <CommandBinding Command="Delete" CanExecute="DeleteCommandBinding_CanExecute" Executed="DeleteCommandBinding_Executed"/>
  128. <CommandBinding Command="{x:Static command:DataCommands.Add}" CanExecute="AddCommandBinding_CanExecute" Executed="AddCommandBinding_Executed"/>
  129. <CommandBinding Command="{x:Static command:DataCommands.Edit}" CanExecute="EditCommandBinding_CanExecute" Executed="EditCommandBinding_Executed"/>
  130. <CommandBinding Command="{x:Static command:DataCommands.Find}" CanExecute="FindCommandBinding_CanExecute" Executed="FindCommandBinding_Executed"/>
  131. <CommandBinding Command="{x:Static command:DataCommands.Save}" CanExecute="SaveCommandBinding_CanExecute" Executed="SaveCommandBinding_Executed"/>
  132. </Page.CommandBindings>
  133. </Page>