EmployeeBrowseView.xaml 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <Page x:Class="InvestTracker.Views.EmployeeBrowseView"
  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:InvestTracker.Views"
  7. xmlns:model="clr-namespace:InvestTracker.Models" xmlns:vm="clr-namespace:InvestTracker.VM" d:DataContext="{d:DesignInstance Type=vm:EmployeeBrowseVM}"
  8. mc:Ignorable="d"
  9. d:DesignHeight="450" d:DesignWidth="800"
  10. x:Name="EPage"
  11. Title="EmployeeBrowseView">
  12. <Page.Resources>
  13. <!--Шаблон яйчейки отображения даты-->
  14. <DataTemplate x:Key="RegularDateTemplate" >
  15. <TextBlock
  16. Text="{Binding Birthday,StringFormat={}{0:dd\.}{0:MM\.}{0:yyyy}}"
  17. VerticalAlignment="Center"
  18. HorizontalAlignment="Center" />
  19. </DataTemplate>
  20. <!--Шаблон яйчейки редактирования даты-->
  21. <DataTemplate x:Key="EditingDateTemplate">
  22. <DatePicker SelectedDate="{Binding Birthday, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  23. </DataTemplate>
  24. </Page.Resources>
  25. <StackPanel>
  26. <!--Этот FrameworkElement содержит все свойства у Page-->
  27. <FrameworkElement x:Name="ProxyElement" DataContext="{Binding}" Visibility="Collapsed"/>
  28. <Menu>
  29. <MenuItem Header="Действие" >
  30. <MenuItem Command="{Binding UndoCommand}" Header="Отменить" ></MenuItem>
  31. <Separator/>
  32. <MenuItem Command="{Binding NewCommand}" Header="Создать" ></MenuItem>
  33. <MenuItem Command="{Binding EditCommand}" Header="Редактировать" ></MenuItem>
  34. <MenuItem Command="{Binding SaveCommand}" Header="Сохранить" ></MenuItem>
  35. <MenuItem Command="{Binding FindCommand}" Header="Найти" />
  36. <Separator/>
  37. <MenuItem Command="{Binding DeleteCommand}" Header="Удалить" ></MenuItem>
  38. </MenuItem>
  39. <MenuItem Header="Отчет"></MenuItem>
  40. </Menu>
  41. <ToolBar>
  42. <Button Name="Undo" Command="{Binding UndoCommand}" ToolTip="Отменить редактирование/создание">
  43. <Image Width="16" Height="16" Source="/Images/undo.png" />
  44. </Button>
  45. <Button Name="Add" Command="{Binding NewCommand}" ToolTip="Добавить">
  46. <Image Width="16" Height="16" Source="/Images/add.png" />
  47. </Button>
  48. <Button Name="Edit" Command="{Binding EditCommand}" ToolTip="Редактировать">
  49. <Image Width="16" Height="16" Source="/Images/edit.png" />
  50. </Button>
  51. <Button Name="Search" Command="{Binding FindCommand}" ToolTip="Поиск">
  52. <Image Width="16" Height="16" Source="/Images/search.png" />
  53. </Button>
  54. <Button Name="Save" Command="{Binding SaveCommand}" ToolTip="Сохранить">
  55. <Image Width="16" Height="16" Source="/Images/save.png" />
  56. </Button>
  57. <Button Name="Delete" Command="{Binding DeleteCommand}" ToolTip="Удалить">
  58. <Image Width="16" Height="16" Source="/Images/undo.png" />
  59. </Button>
  60. </ToolBar>
  61. <Label>Список сотрудников</Label>
  62. <DataGrid
  63. AutoGenerateColumns="False"
  64. ItemsSource="{Binding Employees}"
  65. RowBackground="#ddd"
  66. AlternatingRowBackground="#eee"
  67. CanUserAddRows="False"
  68. CanUserDeleteRows="False"
  69. IsReadOnly="{Binding GridBlocked}">
  70. <DataGrid.Columns>
  71. <DataGridTextColumn
  72. Binding="{Binding Path=Surname,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
  73. Header="Фамилия"/>
  74. <DataGridTextColumn
  75. Binding="{Binding Path=Name,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
  76. Header="Имя"/>
  77. <DataGridTextColumn
  78. Binding="{Binding Path=Patronymic,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
  79. Header="Отчество"/>
  80. <DataGridComboBoxColumn
  81. ItemsSource="{Binding DataContext.AllTitles,Source={x:Reference ProxyElement}}"
  82. DisplayMemberPath="Name"
  83. SelectedValueBinding="{Binding Path=TitleId, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  84. SelectedValuePath="Id"
  85. Header="Должность"/>
  86. <DataGridTemplateColumn
  87. CellTemplate="{StaticResource RegularDateTemplate}"
  88. CellEditingTemplate="{StaticResource EditingDateTemplate}"
  89. Header="Дата рождения" />
  90. <DataGridTextColumn
  91. Binding="{Binding Path=Phone,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
  92. Header="Телефон" />
  93. <DataGridTextColumn
  94. Binding="{Binding Path=Email,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
  95. Header="Электронная почта" />
  96. </DataGrid.Columns>
  97. </DataGrid>
  98. </StackPanel>
  99. </Page>