Files
LehrerApp/LehrerApp.Desktop/Views/Groups/GroupDetailView.axaml
2026-03-29 23:47:31 +02:00

130 lines
5.9 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.GroupDetailView"
x:DataType="vm:GroupDetailViewModel">
<Grid RowDefinitions="Auto,Auto,*">
<!-- ── Header ──────────────────────────────────────────────────────── -->
<Border Grid.Row="0" Padding="20,16"
BorderBrush="{DynamicResource SystemControlForegroundBaseLowBrush}"
BorderThickness="0,0,0,1">
<Grid ColumnDefinitions="*,Auto">
<StackPanel Grid.Column="0">
<TextBlock Text="{Binding GroupTitle}"
FontSize="22" FontWeight="SemiBold"/>
<TextBlock FontSize="12" Opacity="0.5">
<Run Text="{Binding StudentCount}"/>
<Run Text="Schüler"/>
</TextBlock>
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal" Spacing="8">
<Button Content="+ Schüler"
Command="{Binding AddStudentCommand}"/>
<Button Content="+ Klausur"
Command="{Binding AddExamCommand}"/>
</StackPanel>
</Grid>
</Border>
<!-- ── Tab-Leiste ──────────────────────────────────────────────────── -->
<Border Grid.Row="1"
BorderBrush="{DynamicResource SystemControlForegroundBaseLowBrush}"
BorderThickness="0,0,0,1"
Padding="16,0">
<StackPanel Orientation="Horizontal" Spacing="4">
<Button Content="Übersicht"
Command="{Binding SwitchTabCommand}"
CommandParameter="{x:Static vm:GroupTab.Overview}"
Classes.active="{Binding ActiveTab,
Converter={x:Static ObjectConverters.Equal},
ConverterParameter={x:Static vm:GroupTab.Overview}}"
Background="Transparent" Padding="12,8"/>
<Button Content="Schüler"
Command="{Binding SwitchTabCommand}"
CommandParameter="{x:Static vm:GroupTab.Students}"
Classes.active="{Binding ActiveTab,
Converter={x:Static ObjectConverters.Equal},
ConverterParameter={x:Static vm:GroupTab.Students}}"
Background="Transparent" Padding="12,8"/>
<Button Content="Klausuren"
Command="{Binding SwitchTabCommand}"
CommandParameter="{x:Static vm:GroupTab.Exams}"
Classes.active="{Binding ActiveTab,
Converter={x:Static ObjectConverters.Equal},
ConverterParameter={x:Static vm:GroupTab.Exams}}"
Background="Transparent" Padding="12,8"/>
<Button Content="Noten"
Command="{Binding SwitchTabCommand}"
CommandParameter="{x:Static vm:GroupTab.Grades}"
Background="Transparent" Padding="12,8"/>
<Button Content="Planung"
Command="{Binding SwitchTabCommand}"
CommandParameter="{x:Static vm:GroupTab.Planner}"
Background="Transparent" Padding="12,8"/>
<Button Content="Dokumentation"
Command="{Binding SwitchTabCommand}"
CommandParameter="{x:Static vm:GroupTab.Documentation}"
Background="Transparent" Padding="12,8"/>
</StackPanel>
</Border>
<!-- ── Tab-Inhalt ──────────────────────────────────────────────────── -->
<ScrollViewer Grid.Row="2" Padding="20">
<!-- Schülerliste -->
<DataGrid ItemsSource="{Binding Students}"
IsVisible="{Binding ActiveTab,
Converter={x:Static ObjectConverters.Equal},
ConverterParameter={x:Static vm:GroupTab.Students}}"
AutoGenerateColumns="False"
IsReadOnly="True"
GridLinesVisibility="Horizontal"
CanUserReorderColumns="False"
CanUserResizeColumns="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Name"
Binding="{Binding FullName}"
Width="*"/>
</DataGrid.Columns>
</DataGrid>
<!-- Klausuren -->
<DataGrid ItemsSource="{Binding Exams}"
IsVisible="{Binding ActiveTab,
Converter={x:Static ObjectConverters.Equal},
ConverterParameter={x:Static vm:GroupTab.Exams}}"
AutoGenerateColumns="False"
IsReadOnly="True"
GridLinesVisibility="Horizontal"
CanUserReorderColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Datum"
Binding="{Binding Date}"
Width="100"/>
<DataGridTextColumn Header="Titel"
Binding="{Binding Title}"
Width="*"/>
<DataGridTextColumn Header="Status"
Binding="{Binding Status}"
Width="120"/>
</DataGrid.Columns>
</DataGrid>
<!-- Übersicht (Platzhalter) -->
<StackPanel IsVisible="{Binding ActiveTab,
Converter={x:Static ObjectConverters.Equal},
ConverterParameter={x:Static vm:GroupTab.Overview}}"
Spacing="12">
<TextBlock Text="Übersicht" FontSize="16" FontWeight="SemiBold"/>
<TextBlock Text="Hier erscheint eine Zusammenfassung der Lerngruppe."
Opacity="0.5"/>
</StackPanel>
</ScrollViewer>
</Grid>
</UserControl>