Forked from
VECTO / VECTO Sim
4545 commits behind the upstream repository.
-
Harald Martini authoredHarald Martini authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
OutputView.xaml 5.27 KiB
<UserControl x:Class="VECTO3GUI2020.Views.OutputView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:VECTO3GUI2020.Views"
xmlns:impl="clr-namespace:VECTO3GUI2020.ViewModel.Implementation"
xmlns:viewModel="clr-namespace:VECTO3GUI2020.ViewModel"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignData Type=viewModel:IOutputViewModel}">
<Grid>
<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>
</DockPanel>
</Grid>
</UserControl>