Improve desktop UX and accessibility
This commit is contained in:
@@ -8,18 +8,21 @@
|
||||
<Border Grid.Row="0" Padding="20,16"
|
||||
BorderBrush="{DynamicResource SystemControlForegroundBaseLowBrush}"
|
||||
BorderThickness="0,0,0,1">
|
||||
<Grid ColumnDefinitions="*,Auto,Auto,Auto">
|
||||
<shared:PageHeader Grid.Column="0" Title="Schüler" Subtitle="{Binding CountSummary}"/>
|
||||
<CheckBox Grid.Column="1" Content="Inaktive anzeigen"
|
||||
<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,0,12,0"/>
|
||||
<Button Grid.Column="2" Content="⇩ Importieren…" Click="OnImportClick"
|
||||
VerticalAlignment="Center" Margin="0,0,8,0"/>
|
||||
<Button Grid.Column="3" Content="+ Neuer Schüler"
|
||||
Command="{Binding AddStudentCommand}" VerticalAlignment="Center"/>
|
||||
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>
|
||||
<DockPanel Grid.Row="1">
|
||||
<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}"
|
||||
@@ -45,5 +48,22 @@
|
||||
</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>
|
||||
|
||||
@@ -36,6 +36,7 @@ public partial class StudentListView : UserControl
|
||||
});
|
||||
if (files.Count == 0) return;
|
||||
|
||||
list.IsImporting = true;
|
||||
try
|
||||
{
|
||||
await using var source = await files[0].OpenReadAsync();
|
||||
@@ -67,5 +68,9 @@ public partial class StudentListView : UserControl
|
||||
{
|
||||
App.Services.GetRequiredService<NotificationService>().ShowError(ex.Message);
|
||||
}
|
||||
finally
|
||||
{
|
||||
list.IsImporting = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user