97 lines
5.1 KiB
XML
97 lines
5.1 KiB
XML
<UserControl xmlns="https://github.com/avaloniaui"
|
||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||
xmlns:vm="clr-namespace:LehrerApp.Desktop.ViewModels.Groups"
|
||
x:Class="LehrerApp.Desktop.Views.Groups.SeatingPlanTabView"
|
||
x:DataType="vm:SeatingPlanTabViewModel">
|
||
<Grid ColumnDefinitions="260,*">
|
||
<Border Grid.Column="0" BorderBrush="{DynamicResource SystemControlForegroundBaseLowBrush}"
|
||
BorderThickness="0,0,1,0" Padding="16">
|
||
<Grid RowDefinitions="Auto,*,Auto">
|
||
<StackPanel Grid.Row="0" Spacing="4" Margin="0,0,0,12">
|
||
<TextBlock Text="Sitzpläne" FontSize="18" FontWeight="SemiBold"/>
|
||
<TextBlock Text="Mehrere Pläne, z. B. für verschiedene Räume" FontSize="12"
|
||
Opacity="0.6" TextWrapping="Wrap"/>
|
||
</StackPanel>
|
||
<ListBox Grid.Row="1" ItemsSource="{Binding Plans}" SelectedItem="{Binding SelectedPlan}">
|
||
<ListBox.ItemTemplate>
|
||
<DataTemplate x:DataType="vm:SeatingPlanSummary">
|
||
<StackPanel Margin="4,6" Spacing="2">
|
||
<TextBlock Text="{Binding Name}" FontWeight="SemiBold"/>
|
||
<TextBlock Text="{Binding RoomDisplay}" FontSize="12" Opacity="0.6"/>
|
||
</StackPanel>
|
||
</DataTemplate>
|
||
</ListBox.ItemTemplate>
|
||
</ListBox>
|
||
<StackPanel Grid.Row="2" Spacing="8" Margin="0,12,0,0">
|
||
<Button Content="+ Sitzplan" Command="{Binding AddPlanCommand}" HorizontalAlignment="Stretch"/>
|
||
<Grid ColumnDefinitions="*,8,*" IsVisible="{Binding HasSelectedPlan}">
|
||
<Button Grid.Column="0" Content="Bearbeiten" Command="{Binding EditPlanCommand}"
|
||
HorizontalAlignment="Stretch"/>
|
||
<Button Grid.Column="2" Content="Löschen" Command="{Binding DeletePlanCommand}"
|
||
HorizontalAlignment="Stretch"/>
|
||
</Grid>
|
||
</StackPanel>
|
||
</Grid>
|
||
</Border>
|
||
|
||
<Grid Grid.Column="1">
|
||
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Spacing="10"
|
||
IsVisible="{Binding HasPlans, Converter={x:Static BoolConverters.Not}}">
|
||
<TextBlock Text="Noch kein Sitzplan" FontSize="20" FontWeight="SemiBold"
|
||
HorizontalAlignment="Center"/>
|
||
<TextBlock Text="Lege einen Plan an und ordne die Schüler den Plätzen zu."
|
||
Opacity="0.6" TextAlignment="Center"/>
|
||
<Button Content="Ersten Sitzplan anlegen" Command="{Binding AddPlanCommand}"
|
||
HorizontalAlignment="Center"/>
|
||
</StackPanel>
|
||
|
||
<Grid RowDefinitions="Auto,*" IsVisible="{Binding HasSelectedPlan}" Margin="24">
|
||
<Grid Grid.Row="0" ColumnDefinitions="*,Auto" Margin="0,0,0,18">
|
||
<StackPanel Spacing="3">
|
||
<TextBlock Text="{Binding PlanTitle}" FontSize="22" FontWeight="SemiBold"/>
|
||
<TextBlock Text="{Binding PlanSubtitle}" Opacity="0.65"/>
|
||
</StackPanel>
|
||
<TextBlock Grid.Column="1" Text="{Binding AssignmentSummary}" VerticalAlignment="Bottom"
|
||
FontSize="12" Opacity="0.6"/>
|
||
</Grid>
|
||
|
||
<ScrollViewer Grid.Row="1" HorizontalScrollBarVisibility="Auto"
|
||
VerticalScrollBarVisibility="Auto">
|
||
<StackPanel Spacing="14" HorizontalAlignment="Center">
|
||
<Border Background="{DynamicResource SystemControlBackgroundChromeMediumLowBrush}"
|
||
CornerRadius="6" Padding="36,8" HorizontalAlignment="Center">
|
||
<TextBlock Text="Tafel / Vorderseite" FontWeight="SemiBold" Opacity="0.75"/>
|
||
</Border>
|
||
<ItemsControl ItemsSource="{Binding Seats}" HorizontalAlignment="Center">
|
||
<ItemsControl.ItemsPanel>
|
||
<ItemsPanelTemplate>
|
||
<UniformGrid Columns="{Binding PlanColumns}"/>
|
||
</ItemsPanelTemplate>
|
||
</ItemsControl.ItemsPanel>
|
||
<ItemsControl.ItemTemplate>
|
||
<DataTemplate x:DataType="vm:SeatCellViewModel">
|
||
<Border Width="190" MinHeight="76" Margin="5" Padding="10"
|
||
BorderBrush="{DynamicResource SystemControlForegroundBaseLowBrush}"
|
||
BorderThickness="1" CornerRadius="7">
|
||
<StackPanel Spacing="5">
|
||
<TextBlock Text="{Binding PositionLabel}" FontSize="10" Opacity="0.5"/>
|
||
<ComboBox ItemsSource="{Binding Options}" SelectedItem="{Binding SelectedOption}"
|
||
IsEnabled="{Binding CanEdit}" HorizontalAlignment="Stretch">
|
||
<ComboBox.ItemTemplate>
|
||
<DataTemplate x:DataType="vm:StudentSeatOption">
|
||
<TextBlock Text="{Binding DisplayName}"/>
|
||
</DataTemplate>
|
||
</ComboBox.ItemTemplate>
|
||
</ComboBox>
|
||
</StackPanel>
|
||
</Border>
|
||
</DataTemplate>
|
||
</ItemsControl.ItemTemplate>
|
||
</ItemsControl>
|
||
</StackPanel>
|
||
</ScrollViewer>
|
||
</Grid>
|
||
</Grid>
|
||
</Grid>
|
||
</UserControl>
|