Files
DP44/Common/DTS.CommonCore/Controls/CommonStatusRibbon.xaml
2026-04-17 14:55:32 -04:00

94 lines
4.9 KiB
XML

<UserControl x:Class="DTS.Common.Controls.CommonStatusRibbon"
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"
mc:Ignorable="d" d:DesignHeight="80" d:DesignWidth="1366" x:Name="commonStatusRibbon">
<Grid>
<Grid HorizontalAlignment="Stretch" Visibility="Visible" DataContext="{Binding ElementName=commonStatusRibbon}">
<Grid.Background>
<SolidColorBrush Color="{Binding AggregateStatusColor, FallbackValue=Yellow}" />
</Grid.Background>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<Rectangle Fill="{DynamicResource Brush_StatusRibbonErrorBackgroundDark}" Visibility="{Binding AlertVisibility, FallbackValue=Hidden}" />
<Grid Background="{DynamicResource Brush_StatusRibbonErrorBackgroundLight}" Visibility="{Binding AlertVisibility, FallbackValue=Visible}">
<Grid.Style>
<Style TargetType="{x:Type Grid}">
<Style.Resources>
<Storyboard x:Key="flashAnimation" >
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.2" To="1" AutoReverse="True" Duration="0:0:0.3" RepeatBehavior="Forever" />
</Storyboard>
</Style.Resources>
<Style.Triggers>
<EventTrigger RoutedEvent="Window.Loaded">
<BeginStoryboard Name="flash" Storyboard="{StaticResource flashAnimation}" />
</EventTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
</Grid>
<TextBlock FontFamily="Segoe UI" FontSize="11"
Foreground="{Binding TextColor}" Text="{Binding AggregateStatusText, FallbackValue=Connecting}" Margin="0" Width="200"/>
</Grid>
<ProgressBar Grid.Column="1" Margin="0" HorizontalContentAlignment="Stretch" Visibility="{Binding ProgressBarVisibility}" Value="{Binding ProgressBarValue,FallbackValue=30}"/>
</Grid>
<Grid MinHeight="80" HorizontalAlignment="Stretch" Visibility="Collapsed" DataContext="{Binding ElementName=commonStatusRibbon}">
<Grid.Background>
<SolidColorBrush Color="{Binding AggregateStatusColor, FallbackValue=Yellow}" />
</Grid.Background>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Rectangle
Fill="{DynamicResource Brush_StatusRibbonErrorBackgroundDark}"
Grid.Row="0" Grid.RowSpan="2"
Visibility="{Binding AlertVisibility, FallbackValue=Hidden}"
/>
<Grid
Background="{DynamicResource Brush_StatusRibbonErrorBackgroundLight}"
Grid.Row="0" Grid.RowSpan="2"
Visibility="{Binding AlertVisibility, FallbackValue=Visible}">
<Grid.Style>
<Style TargetType="{x:Type Grid}">
<Style.Resources>
<Storyboard x:Key="flashAnimation" >
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.2" To="1" AutoReverse="True" Duration="0:0:0.3" RepeatBehavior="Forever" />
</Storyboard>
</Style.Resources>
<Style.Triggers>
<EventTrigger RoutedEvent="Window.Loaded">
<BeginStoryboard Name="flash" Storyboard="{StaticResource flashAnimation}" />
</EventTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
</Grid>
<TextBlock
Grid.Row="0"
VerticalAlignment="Center"
Foreground="{Binding TextColor}"
Text="{Binding AggregateStatusText, FallbackValue=Connecting}"
HorizontalAlignment="Center"
Margin="0"
x:Name="lblAggregateStatusText"
/>
<ProgressBar
Margin="0"
Grid.Row="1"
Height="40"
VerticalAlignment="Bottom"
HorizontalContentAlignment="Stretch"
Visibility="{Binding ProgressBarVisibility}"
Value="{Binding ProgressBarValue,FallbackValue=30}"
/>
</Grid>
</Grid>
</UserControl>