From a599215c409ce236a43ab7e562eb2a7f5aa088ea Mon Sep 17 00:00:00 2001 From: "harald.martini@student.tugraz.at" <harald.martini@student.tugraz.at> Date: Mon, 7 Jun 2021 19:25:14 +0200 Subject: [PATCH] Status bar is now always visible --- VECTO3GUI2020/Views/OutputView.xaml | 136 ++++++++++++++++------------ 1 file changed, 76 insertions(+), 60 deletions(-) diff --git a/VECTO3GUI2020/Views/OutputView.xaml b/VECTO3GUI2020/Views/OutputView.xaml index 3cc6006861..0db8b7adc5 100644 --- a/VECTO3GUI2020/Views/OutputView.xaml +++ b/VECTO3GUI2020/Views/OutputView.xaml @@ -9,67 +9,83 @@ mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignData Type=viewModel:IOutputViewModel}"> <Grid> - <DockPanel> - <ProgressBar DockPanel.Dock="Top" Minimum="0" Maximum="100" Value="{Binding Progress}"></ProgressBar> - <DataGrid DockPanel.Dock="Top" ItemsSource="{Binding Messages}" BorderThickness="1" CanUserAddRows="False" AutoGenerateColumns="False" SelectionUnit="FullRow" - IsReadOnly="True" HeadersVisibility="All" RowHeaderWidth="5" Name="MessageList"> + <DockPanel LastChildFill="False"> + <ProgressBar DockPanel.Dock="Top" + Minimum="0" + Maximum="100" + Value="{Binding Progress}"/> + <StatusBar DockPanel.Dock="Bottom" Height="30"> + <TextBlock Text="{Binding StatusMessage}"/> + </StatusBar> + <DataGrid + VerticalAlignment="Stretch" + VerticalScrollBarVisibility="Auto" + DockPanel.Dock="Top" + ItemsSource="{Binding Messages}" + BorderThickness="1" + CanUserAddRows="False" + AutoGenerateColumns="False" + SelectionUnit="FullRow" + IsReadOnly="True" + HeadersVisibility="All" + RowHeaderWidth="5" + Name="MessageList"> + <DataGrid.Columns> + <DataGridTemplateColumn Header="Message" Width="*"> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel> + <TextBlock Text="{Binding Message}" Visibility="{Binding Message, Converter={StaticResource NullToVisibilityConverter}}" + TextWrapping="Wrap"/> + <TextBlock Text="{Binding Link}" Visibility="{Binding Message, Converter={StaticResource NullToVisibilityConverter}}" + TextWrapping="Wrap"/> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + <DataGridTextColumn Header="Time" Binding="{Binding Time}" Width="130" /> + </DataGrid.Columns> + <DataGrid.RowStyle> + <Style TargetType="DataGridRow"> + <Style.Triggers> + <DataTrigger Binding="{Binding Type}" Value="{x:Static impl:MessageType.StatusMessage}"> + <Setter Property="Background" Value="AliceBlue"/> + </DataTrigger> + <DataTrigger Binding="{Binding Type}" Value="{x:Static impl:MessageType.InfoMessage}"> + <Setter Property="Background" Value="LemonChiffon"/> + </DataTrigger> + <DataTrigger Binding="{Binding Type}" Value="{x:Static impl:MessageType.ErrorMessage}"> + <Setter Property="Background" Value="Red"/> + </DataTrigger> + <DataTrigger Binding="{Binding Type}" Value="{x:Static impl:MessageType.WarningMessage}"> + <Setter Property="Background" Value="Gold"/> + </DataTrigger> + </Style.Triggers> + </Style> + </DataGrid.RowStyle> + <DataGrid.CellStyle> + <Style TargetType="DataGridCell"> + <Setter Property="FontFamily" Value="Courier New"/> + <Style.Triggers> + <DataTrigger Binding="{Binding Type}" Value="{x:Static impl:MessageType.StatusMessage}"> + <Setter Property="Foreground" Value="Black"/> + </DataTrigger> + <DataTrigger Binding="{Binding Type}" Value="{x:Static impl:MessageType.InfoMessage}"> + <Setter Property="Foreground" Value="DimGray"/> + </DataTrigger> + <DataTrigger Binding="{Binding Type}" Value="{x:Static impl:MessageType.ErrorMessage}"> + <Setter Property="Foreground" Value="White"/> + <Setter Property="FontWeight" Value="Bold"/> + </DataTrigger> + <DataTrigger Binding="{Binding Type}" Value="{x:Static impl:MessageType.WarningMessage}"> + <Setter Property="Foreground" Value="Black"/> + <Setter Property="FontWeight" Value="Bold"/> + </DataTrigger> + </Style.Triggers> + </Style> + </DataGrid.CellStyle> + </DataGrid> - <DataGrid.Columns> - <DataGridTemplateColumn Header="Message" Width="*"> - <DataGridTemplateColumn.CellTemplate> - <DataTemplate> - <StackPanel> - <TextBlock Text="{Binding Message}" Visibility="{Binding Message, Converter={StaticResource NullToVisibilityConverter}}" - TextWrapping="Wrap"/> - <TextBlock Text="{Binding Link}" Visibility="{Binding Message, Converter={StaticResource NullToVisibilityConverter}}" - TextWrapping="Wrap"/> - </StackPanel> - </DataTemplate> - </DataGridTemplateColumn.CellTemplate> - </DataGridTemplateColumn> - <DataGridTextColumn Header="Time" Binding="{Binding Time}" Width="130" /> - </DataGrid.Columns> - <DataGrid.RowStyle> - <Style TargetType="DataGridRow"> - <Style.Triggers> - <DataTrigger Binding="{Binding Type}" Value="{x:Static impl:MessageType.StatusMessage}"> - <Setter Property="Background" Value="AliceBlue"/> - </DataTrigger> - <DataTrigger Binding="{Binding Type}" Value="{x:Static impl:MessageType.InfoMessage}"> - <Setter Property="Background" Value="LemonChiffon"/> - </DataTrigger> - <DataTrigger Binding="{Binding Type}" Value="{x:Static impl:MessageType.ErrorMessage}"> - <Setter Property="Background" Value="Red"/> - </DataTrigger> - <DataTrigger Binding="{Binding Type}" Value="{x:Static impl:MessageType.WarningMessage}"> - <Setter Property="Background" Value="Gold"/> - </DataTrigger> - </Style.Triggers> - </Style> - </DataGrid.RowStyle> - <DataGrid.CellStyle> - <Style TargetType="DataGridCell"> - <Setter Property="FontFamily" Value="Courier New"/> - <Style.Triggers> - <DataTrigger Binding="{Binding Type}" Value="{x:Static impl:MessageType.StatusMessage}"> - <Setter Property="Foreground" Value="Black"/> - </DataTrigger> - <DataTrigger Binding="{Binding Type}" Value="{x:Static impl:MessageType.InfoMessage}"> - <Setter Property="Foreground" Value="DimGray"/> - </DataTrigger> - <DataTrigger Binding="{Binding Type}" Value="{x:Static impl:MessageType.ErrorMessage}"> - <Setter Property="Foreground" Value="White"/> - <Setter Property="FontWeight" Value="Bold"/> - </DataTrigger> - <DataTrigger Binding="{Binding Type}" Value="{x:Static impl:MessageType.WarningMessage}"> - <Setter Property="Foreground" Value="Black"/> - <Setter Property="FontWeight" Value="Bold"/> - </DataTrigger> - </Style.Triggers> - </Style> - </DataGrid.CellStyle> - </DataGrid> - <StatusBar DockPanel.Dock="Bottom" VerticalAlignment="Bottom"><TextBlock Text="{Binding StatusMessage}"/></StatusBar> </DockPanel> </Grid> </UserControl> -- GitLab