Files
TimetableDesigner/TimetableDesigner/Views/TeacherEditView.xaml

122 lines
8.2 KiB
XML

<UserControl x:Class="TimetableDesigner.Views.TeacherEditView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:p = "clr-namespace:TimetableDesigner.Properties"
xmlns:vm="clr-namespace:TimetableDesigner.ViewModels.Views"
xmlns:local="clr-namespace:TimetableDesigner.Views" xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.DataContext>
<vm:TeacherEditViewModel/>
</UserControl.DataContext>
<ScrollViewer>
<StackPanel>
<GroupBox Header="{x:Static p:Resources.TeacherEdit_Groups_Basics}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="{x:Static p:Resources.TeacherEdit_Name}"/>
<TextBox Grid.Column="1" Grid.Row="0" Margin="5" Text="{Binding Name}" MaxLines="1"/>
<Label Grid.Column="0" Grid.Row="1" Content="{x:Static p:Resources.TeacherEdit_Description}"/>
<TextBox Grid.Column="1" Grid.Row="1" Margin="5" MinLines="3" Text="{Binding Teacher.Description}" AcceptsReturn="True"/>
</Grid>
</GroupBox>
<GroupBox Header="{x:Static p:Resources.TeacherEdit_Groups_AvailabilityHours}">
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="{x:Static p:Resources.TeacherEdit_Days}"/>
<Label Grid.Column="2" Grid.Row="0" Content="{x:Static p:Resources.TeacherEdit_Hours}"/>
<ListBox Grid.Column="0" Grid.Row="1" Margin="5" MinHeight="100" ItemsSource="{Binding Teacher.AvailabilityHours.Keys}" SelectedItem="{Binding SelectedDay}" HorizontalContentAlignment="Stretch">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch" Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" HorizontalAlignment="Stretch" Content="{Binding Name}"/>
<Button Grid.Column="1"
Width="26"
Height="26"
Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Path=DataContext.RemoveDayCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self}, Path=DataContext}">
<Image Source="{StaticResource RemoveImage}" Width="20" Height="20"/>
</Button>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Image Grid.Column="1" Grid.Row="1" VerticalAlignment="Center" Source="{StaticResource RightArrowImage}" Width="20" Height="20"/>
<ListBox Grid.Column="2" Grid.Row="1" Margin="5" ItemsSource="{Binding SelectedDayHours}" HorizontalContentAlignment="Stretch">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch" Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" HorizontalAlignment="Stretch" Orientation="Horizontal">
<Label Content="{Binding From}"/>
<Label Content=" - "/>
<Label Content="{Binding To}"/>
</StackPanel>
<Button Grid.Column="1"
Width="26"
Height="26"
Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Path=DataContext.RemoveHourCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self}, Path=DataContext}">
<Image Source="{StaticResource RemoveImage}" Width="20" Height="20"/>
</Button>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Grid Grid.Column="0" Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<ComboBox Grid.Column="0" Margin="5" ItemsSource="{Binding TimetableTemplate.Days}" SelectedItem="{Binding SelectedNewDay}" DisplayMemberPath="Name" VerticalContentAlignment="Center"/>
<Button Grid.Column="1" Margin="5" Width="26" Height="26" Command="{Binding AddDayCommand}">
<Image Source="{StaticResource AddImage}" Width="20" Height="20"/>
</Button>
</Grid>
<Grid Grid.Column="2" Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<xctk:DateTimeUpDown Grid.Column="0" Margin="5" Format="ShortTime" Value="{Binding NewHourFrom}"/>
<Label Grid.Column="1" Margin="5" Content="-"/>
<xctk:DateTimeUpDown Grid.Column="2" Margin="5" Format="ShortTime" Value="{Binding NewHourTo}"/>
<Button Grid.Column="3" Margin="5" Command="{Binding AddHourCommand}" Width="26" Height="26">
<Image Source="{StaticResource AddImage}" Width="20" Height="20"/>
</Button>
</Grid>
</Grid>
</StackPanel>
</GroupBox>
</StackPanel>
</ScrollViewer>
</UserControl>