Files
LehrerApp/LehrerApp.Desktop/Views/Groups/SeatingPlanDialog.axaml

84 lines
4.1 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.SeatingPlanDialog"
x:DataType="vm:SeatingPlanDialogViewModel"
Title="{Binding DialogTitle}" Width="620" Height="680" MinHeight="560"
CanResize="True" WindowStartupLocation="CenterOwner">
<Grid RowDefinitions="*,Auto" Margin="24">
<ScrollViewer>
<StackPanel Spacing="16">
<StackPanel Spacing="3">
<TextBlock Text="{Binding DialogTitle}" Classes="dialogtitle"/>
<TextBlock Text="Name und Raum unterscheiden mehrere Pläne derselben Lerngruppe."
FontSize="12" Opacity="0.6" TextWrapping="Wrap"/>
</StackPanel>
<StackPanel Spacing="4">
<TextBlock Text="Name *" FontSize="12" Opacity="0.7"/>
<TextBox Text="{Binding Name}" PlaceholderText="z. B. Standard, Gruppenarbeit"/>
<TextBlock Text="{Binding NameError}" Foreground="Red" FontSize="11"
IsVisible="{Binding NameError, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
</StackPanel>
<StackPanel Spacing="4">
<TextBlock Text="Raum" FontSize="12" Opacity="0.7"/>
<TextBox Text="{Binding Room}" PlaceholderText="z. B. B204, Physikraum"/>
</StackPanel>
<Grid ColumnDefinitions="*,16,*">
<StackPanel Grid.Column="0" Spacing="4">
<TextBlock Text="Reihen" FontSize="12" Opacity="0.7"/>
<NumericUpDown Value="{Binding Rows}" Minimum="1" Maximum="10" Increment="1"
FormatString="0"/>
</StackPanel>
<StackPanel Grid.Column="2" Spacing="4">
<TextBlock Text="Plätze pro Reihe" FontSize="12" Opacity="0.7"/>
<NumericUpDown Value="{Binding Columns}" Minimum="1" Maximum="10" Increment="1"
FormatString="0"/>
</StackPanel>
</Grid>
<TextBlock Text="{Binding LayoutError}" Foreground="Red" FontSize="11"
IsVisible="{Binding LayoutError, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
<StackPanel Spacing="4">
<TextBlock Text="Tafelposition" FontSize="12" Opacity="0.7"/>
<CheckBox Content="Tafel unterhalb der Sitzplätze anzeigen"
IsChecked="{Binding IsBoardAtBottom}"/>
</StackPanel>
<StackPanel Spacing="7">
<TextBlock Text="Abstände zwischen den Tischen" FontSize="12" Opacity="0.7"/>
<TextBlock Text="Breite 0 bedeutet: kein zusätzlicher Abstand. So lassen sich z. B. Tischgruppen und Mittelgänge abbilden."
FontSize="11" Opacity="0.55" TextWrapping="Wrap"/>
<ItemsControl ItemsSource="{Binding ColumnGaps}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate><WrapPanel/></ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate x:DataType="vm:ColumnGapEditor">
<StackPanel Width="125" Margin="0,0,10,8" Spacing="3">
<TextBlock Text="{Binding Label}" FontSize="11" Opacity="0.65"/>
<NumericUpDown Value="{Binding Width}" Minimum="0" Maximum="300"
Increment="10" FormatString="0 px"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
<Border Background="{DynamicResource SystemControlBackgroundChromeMediumLowBrush}"
CornerRadius="6" Padding="12">
<TextBlock Text="Beim Verkleinern des Rasters entfallen Zuordnungen außerhalb der neuen Größe."
FontSize="12" Opacity="0.7" TextWrapping="Wrap"/>
</Border>
</StackPanel>
</ScrollViewer>
<Grid Grid.Row="1" ColumnDefinitions="*,8,*" Margin="0,20,0,0">
<Button Grid.Column="0" Content="Abbrechen" HorizontalAlignment="Stretch" Click="OnCancel"/>
<Button Grid.Column="2" Content="{Binding SaveButtonText}" HorizontalAlignment="Stretch" Click="OnSave"/>
</Grid>
</Grid>
</Window>