70 lines
3.9 KiB
XML
70 lines
3.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.Students"
|
||
xmlns:shared="clr-namespace:LehrerApp.Desktop.Views.Shared"
|
||
x:Class="LehrerApp.Desktop.Views.Students.StudentListView"
|
||
x:DataType="vm:StudentListViewModel">
|
||
<Grid RowDefinitions="Auto,*">
|
||
<Border Grid.Row="0" Padding="20,16"
|
||
BorderBrush="{DynamicResource SystemControlForegroundBaseLowBrush}"
|
||
BorderThickness="0,0,0,1">
|
||
<Grid RowDefinitions="Auto,Auto" ColumnDefinitions="*,Auto,Auto,Auto">
|
||
<shared:PageHeader Grid.ColumnSpan="4" Title="Schüler" Subtitle="{Binding CountSummary}"/>
|
||
<CheckBox Grid.Row="1" Grid.Column="1" Content="Inaktive anzeigen"
|
||
IsChecked="{Binding ShowInactive}"
|
||
VerticalAlignment="Center" Margin="0,10,12,0"/>
|
||
<Button Grid.Row="1" Grid.Column="2" Content="⇩ Importieren…" Click="OnImportClick"
|
||
IsEnabled="{Binding !IsImporting}"
|
||
VerticalAlignment="Center" Margin="0,10,8,0"
|
||
AutomationProperties.Name="Schüler importieren"/>
|
||
<Button Grid.Row="1" Grid.Column="3" Content="+ Neuer Schüler"
|
||
Command="{Binding AddStudentCommand}" VerticalAlignment="Center" Margin="0,10,0,0"/>
|
||
</Grid>
|
||
</Border>
|
||
<Grid Grid.Row="1">
|
||
<DockPanel IsVisible="{Binding HasStudents}">
|
||
<TextBox DockPanel.Dock="Top" Text="{Binding SearchText}"
|
||
PlaceholderText="Name oder Lerngruppe suchen…" Margin="16,10,16,4"/>
|
||
<DataGrid ItemsSource="{Binding Students}"
|
||
SelectedItem="{Binding SelectedStudent}"
|
||
AutoGenerateColumns="False" IsReadOnly="True"
|
||
GridLinesVisibility="Horizontal"
|
||
CanUserReorderColumns="False" Margin="16,4">
|
||
<DataGrid.Columns>
|
||
<DataGridTemplateColumn Header="" Width="48">
|
||
<DataGridTemplateColumn.CellTemplate>
|
||
<DataTemplate x:DataType="vm:StudentListItem">
|
||
<Border Width="30" Height="30" CornerRadius="15" Background="{Binding AvatarColor}"
|
||
HorizontalAlignment="Center" VerticalAlignment="Center"
|
||
ToolTip.Tip="{Binding AvatarTooltip}">
|
||
<TextBlock Text="{Binding AvatarLabel}" Foreground="White" FontWeight="Bold"
|
||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||
</Border>
|
||
</DataTemplate>
|
||
</DataGridTemplateColumn.CellTemplate>
|
||
</DataGridTemplateColumn>
|
||
<DataGridTextColumn Header="Name" Binding="{Binding FullName}" Width="*"/>
|
||
<DataGridTextColumn Header="Geburtsdatum" Binding="{Binding DateOfBirth}" Width="130"/>
|
||
</DataGrid.Columns>
|
||
</DataGrid>
|
||
</DockPanel>
|
||
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Spacing="10"
|
||
IsVisible="{Binding HasNoStudents}">
|
||
<TextBlock Text="{Binding EmptyListMessage}" Classes="emptyhint" FontSize="15"
|
||
TextAlignment="Center"/>
|
||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Spacing="8"
|
||
IsVisible="{Binding SearchText, Converter={x:Static StringConverters.IsNullOrEmpty}}">
|
||
<Button Content="+ Ersten Schüler anlegen" Command="{Binding AddStudentCommand}"/>
|
||
<Button Content="⇩ Schülerliste importieren" Click="OnImportClick"/>
|
||
</StackPanel>
|
||
</StackPanel>
|
||
<Border Background="#70000000" IsVisible="{Binding IsImporting}">
|
||
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Spacing="10">
|
||
<ProgressBar IsIndeterminate="True" Width="220" Height="5"/>
|
||
<TextBlock Text="Schülerliste wird analysiert …" Foreground="White"/>
|
||
</StackPanel>
|
||
</Border>
|
||
</Grid>
|
||
</Grid>
|
||
</UserControl>
|