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>
52 lines
2.6 KiB
XML
52 lines
2.6 KiB
XML
<Window xmlns="https://github.com/avaloniaui"
|
||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||
xmlns:vm="clr-namespace:LehrerApp.Desktop.ViewModels.Settings"
|
||
x:Class="LehrerApp.Desktop.Views.Settings.GradingKeyTemplateDialog"
|
||
x:DataType="vm:GradingKeyTemplateEditItem"
|
||
Title="{Binding Name}"
|
||
Width="420" SizeToContent="Height" MinHeight="300"
|
||
CanResize="False" WindowStartupLocation="CenterOwner">
|
||
|
||
<Grid RowDefinitions="*,Auto" Margin="24">
|
||
<StackPanel Grid.Row="0" Spacing="10">
|
||
<StackPanel>
|
||
<TextBlock Text="{Binding Name}" Classes="dialogtitle"/>
|
||
<TextBlock Text="{Binding GradingSystemLabel}" FontSize="12" Opacity="0.5"/>
|
||
</StackPanel>
|
||
|
||
<TextBlock Text="{Binding CompletenessWarning}" Foreground="Red" FontSize="12" TextWrapping="Wrap"
|
||
IsVisible="{Binding CompletenessWarning, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
|
||
|
||
<ItemsControl ItemsSource="{Binding Entries}">
|
||
<ItemsControl.ItemTemplate>
|
||
<DataTemplate x:DataType="vm:GradingKeyEntryVm">
|
||
<Grid ColumnDefinitions="*,Auto" Margin="0,3">
|
||
<TextBlock Grid.Column="0" Text="{Binding Display}" VerticalAlignment="Center" FontSize="13"/>
|
||
<Button Grid.Column="1" Content="×" Padding="7,2" FontSize="13" Command="{Binding DeleteCommand}"/>
|
||
</Grid>
|
||
</DataTemplate>
|
||
</ItemsControl.ItemTemplate>
|
||
</ItemsControl>
|
||
|
||
<Grid ColumnDefinitions="*,8,90,8,Auto">
|
||
<StackPanel Grid.Column="0" Spacing="2">
|
||
<TextBox Text="{Binding NewGrade}"
|
||
PlaceholderText="Note (z.B. 2 oder 11)" FontSize="12"/>
|
||
<TextBlock Text="{Binding NewGradeError}" Foreground="Red" FontSize="11"
|
||
IsVisible="{Binding NewGradeError, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
|
||
</StackPanel>
|
||
<StackPanel Grid.Column="2" Spacing="2">
|
||
<NumericUpDown Value="{Binding NewMinPercent}" Minimum="0" Maximum="100"
|
||
FormatString="0.##" ShowButtonSpinner="False" FontSize="12"
|
||
ToolTip.Tip="Mindest-Prozentgrenze"/>
|
||
<TextBlock Text="{Binding NewMinPercentError}" Foreground="Red" FontSize="11"
|
||
IsVisible="{Binding NewMinPercentError, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
|
||
</StackPanel>
|
||
<Button Grid.Column="4" Content="+" Command="{Binding AddEntryCommand}"/>
|
||
</Grid>
|
||
</StackPanel>
|
||
|
||
<Button Grid.Row="1" Content="Fertig" HorizontalAlignment="Stretch" Margin="0,20,0,0" Click="OnClose"/>
|
||
</Grid>
|
||
</Window>
|