/
kochkatech
/
Queue
Обзор
Документация
Войти
/
kochkatech
/
Queue
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
src/Queue.Admin/Views/ServicesView.xaml
79 строк
5 KB
kochkareal
init: Начальная структура проекта и панель администратора
24 июл 2026, 21:42
24 июл 2026, 21:42
cd5152a
Код
Авторство
О чём код?
<UserControl x:Class="Queue.Admin.Views.ServicesView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid Margin="24"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <TextBlock Grid.Row="0" Text="Услуги" FontSize="20" FontWeight="Bold" Margin="0,0,0,16" /> <StackPanel Grid.Row="1" Orientation="Horizontal" Margin="0,0,0,16"> <TextBox Width="220" Margin="0,0,8,0" VerticalContentAlignment="Center" Text="{Binding NewServiceName, UpdateSourceTrigger=PropertyChanged}" ToolTip="Название услуги" /> <TextBox Width="80" Margin="0,0,8,0" VerticalContentAlignment="Center" Text="{Binding NewServiceCode, UpdateSourceTrigger=PropertyChanged}" ToolTip="Код" /> <TextBox Width="90" Margin="0,0,8,0" VerticalContentAlignment="Center" Text="{Binding NewServiceDurationMinutes, UpdateSourceTrigger=PropertyChanged}" ToolTip="Среднее время, мин" /> <Button Content="Добавить услугу" Command="{Binding AddCommand}" /> </StackPanel> <Grid Grid.Row="2"> <Grid.ColumnDefinitions> <ColumnDefinition Width="2*" /> <ColumnDefinition Width="16" /> <ColumnDefinition Width="240" /> </Grid.ColumnDefinitions> <DataGrid x:Name="ServicesGrid" Grid.Column="0" ItemsSource="{Binding Services}" SelectedItem="{Binding SelectedService}" AutoGenerateColumns="False" IsReadOnly="False" CanUserAddRows="False" GridLinesVisibility="Horizontal" RowEditEnding="ServicesGrid_RowEditEnding"> <DataGrid.Columns> <DataGridTextColumn Header="Услуга" Binding="{Binding Name}" Width="2*" /> <DataGridTextColumn Header="Код" Binding="{Binding Code}" Width="*" /> <DataGridTextColumn Header="Ср. время, мин" Binding="{Binding AverageDurationMinutes}" Width="*" /> <DataGridCheckBoxColumn Header="Активна" Binding="{Binding IsActive}" Width="*" /> <DataGridTemplateColumn Header="" Width="Auto"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <Button Content="Удалить" Padding="6,2" Background="Transparent" Foreground="#D32F2F" BorderThickness="0" Command="{Binding DataContext.DeleteCommand, RelativeSource={RelativeSource AncestorType=UserControl}}" CommandParameter="{Binding}" /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid> <Border Grid.Column="2" BorderBrush="#DDDDDD" BorderThickness="1" Padding="12"> <StackPanel> <TextBlock Text="Окна для услуги" FontWeight="Bold" Margin="0,0,0,4" /> <TextBlock Text="{Binding SelectedService.Name, FallbackValue=Услуга не выбрана}" Foreground="Gray" Margin="0,0,0,12" TextWrapping="Wrap" /> <ItemsControl ItemsSource="{Binding AvailableWindows}"> <ItemsControl.ItemTemplate> <DataTemplate> <CheckBox Content="{Binding Name}" IsChecked="{Binding IsSelected}" Margin="0,2" /> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> <TextBlock Text="Список окон пополняется в разделе «Окна и кабинеты»." Foreground="Gray" FontSize="11" TextWrapping="Wrap" Margin="0,8,0,12" /> <Button Content="Сохранить привязку" Command="{Binding SaveWindowAssignmentsCommand}" HorizontalAlignment="Left" /> </StackPanel> </Border> </Grid> </Grid> </UserControl>