CLAUDE.md mit Projektkonventionen für künftige Claude-Code-Sitzungen. Wiederkehrende UI-Muster konsolidiert: neue PageHeader-Control für Titel/Untertitel in den Listen- und Detailansichten, globale Styles für Dialog-Titel und Leerlisten-Hinweise statt inline wiederholter Werte. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
62 lines
3.4 KiB
XML
62 lines
3.4 KiB
XML
<Window 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.StudentGradesDialog"
|
||
x:DataType="vm:StudentGradesDialogViewModel"
|
||
Title="{Binding StudentName}"
|
||
Width="560" Height="600" MinWidth="480" MinHeight="360"
|
||
CanResize="True" WindowStartupLocation="CenterOwner">
|
||
|
||
<Grid RowDefinitions="Auto,Auto,*,Auto" Margin="24">
|
||
|
||
<TextBlock Grid.Row="0" Text="{Binding StudentName}" Classes="dialogtitle"/>
|
||
|
||
<Button Grid.Row="1" Content="+ Note hinzufügen" Command="{Binding AddEntryCommand}"
|
||
HorizontalAlignment="Left" Margin="0,10,0,10"/>
|
||
|
||
<ScrollViewer Grid.Row="2">
|
||
<ItemsControl ItemsSource="{Binding Entries}">
|
||
<ItemsControl.ItemTemplate>
|
||
<DataTemplate x:DataType="vm:GradeEditItem">
|
||
<Border BorderBrush="{DynamicResource SystemControlForegroundBaseLowBrush}"
|
||
BorderThickness="0,0,0,1" Padding="0,8">
|
||
<StackPanel Spacing="6">
|
||
<Grid ColumnDefinitions="120,*,90,90" ColumnSpacing="6">
|
||
<ComboBox Grid.Column="0" ItemsSource="{x:Static vm:GradeCategoryDisplay.Options}"
|
||
SelectedItem="{Binding CategoryName}"/>
|
||
<StackPanel Grid.Column="1" Spacing="2">
|
||
<TextBox Text="{Binding Value}" PlaceholderText="Wert (z.B. 2 oder 11)"/>
|
||
<TextBlock Text="{Binding ValueError}" Foreground="Red" FontSize="11"
|
||
IsVisible="{Binding ValueError, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
|
||
</StackPanel>
|
||
<StackPanel Grid.Column="2" Spacing="2">
|
||
<TextBox Text="{Binding DateText}" PlaceholderText="TT.MM.JJJJ"/>
|
||
<TextBlock Text="{Binding DateTextError}" Foreground="Red" FontSize="11"
|
||
IsVisible="{Binding DateTextError, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
|
||
</StackPanel>
|
||
<NumericUpDown Grid.Column="3" Value="{Binding Weight}" Minimum="0" Maximum="10"
|
||
Increment="0.1" FormatString="0.#" ShowButtonSpinner="False"
|
||
ToolTip.Tip="Gewichtung"/>
|
||
</Grid>
|
||
<TextBox Text="{Binding Note}" PlaceholderText="Notiz (optional)" FontSize="12"/>
|
||
<Grid ColumnDefinitions="*,Auto,Auto">
|
||
<TextBlock Grid.Column="0" Text="{Binding CreatedAtDisplay}" FontSize="11" Opacity="0.5"
|
||
VerticalAlignment="Center"/>
|
||
<Button Grid.Column="1" Content="Speichern" Command="{Binding SaveCommand}" Margin="0,0,6,0"/>
|
||
<Button Grid.Column="2" Content="Löschen" Command="{Binding DeleteCommand}"/>
|
||
</Grid>
|
||
</StackPanel>
|
||
</Border>
|
||
</DataTemplate>
|
||
</ItemsControl.ItemTemplate>
|
||
</ItemsControl>
|
||
</ScrollViewer>
|
||
|
||
<TextBlock Grid.Row="2" Text="Noch keine Noten erfasst." Classes="emptyhint"
|
||
HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,20,0,0"
|
||
IsVisible="{Binding !Entries.Count}"/>
|
||
|
||
<Button Grid.Row="3" Content="Fertig" HorizontalAlignment="Stretch" Margin="0,16,0,0" Click="OnClose"/>
|
||
</Grid>
|
||
</Window>
|