| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- <UserControl x:Class="SWRIS.Pages.RealTime.FourRopesControl"
- 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:SWRIS.Pages.RealTime"
- xmlns:vm="clr-namespace:SWRIS.Models.ViewModel"
- xmlns:cvt="clr-namespace:SWRIS.Converters"
- xmlns:ctr="clr-namespace:SWRIS.Controls"
- xmlns:enum="clr-namespace:SWRIS.Enums"
- mc:Ignorable="d" FontSize="20"
- Foreground="#FFFFFF"
- FontFamily="{StaticResource PuHuiTiRegular}"
- d:DesignHeight="800" d:DesignWidth="1200"
- x:Name="FourRopesRoot">
- <UserControl.Resources>
- <cvt:RiskLevelToColorConverter x:Key="RiskLevelToColorConverter"/>
- <cvt:RiskLevelToTextConverter x:Key="RiskLevelToTextConverter"/>
- <cvt:ConnectivityFaultToColorConverter x:Key="ConnectivityFaultConverter"/>
- <cvt:CollectionCountToVisibilityConverter x:Key="CollectionCountToVisibilityConverter"/>
- <cvt:ConnectivityToVisibilityConverter x:Key="ConnectivityToVisibilityConverter"/>
- <cvt:StringEmptyToVisibilityConverter x:Key="StringEmptyToVisibilityConverter"/>
- </UserControl.Resources>
- <ItemsControl ItemsSource="{Binding Equipments}" Margin="25,25,0,-20">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <UniformGrid Columns="2" Rows="2"/>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Border CornerRadius="10" Margin="0,0,25,25" Loaded="OnCardLoaded">
- <Border.Background>
- <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
- <GradientStop Color="#2a2956" Offset="0"/>
- <GradientStop Color="#161536" Offset="0.40"/>
- <GradientStop Color="#1f1e44" Offset="1"/>
- </LinearGradientBrush>
- </Border.Background>
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="200"/>
- <RowDefinition Height="*"/>
- <RowDefinition Height="Auto"/>
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*"/>
- <ColumnDefinition Width="180"/>
- </Grid.ColumnDefinitions>
- <!-- 左侧信息区域 -->
- <StackPanel Orientation="Vertical" Grid.Row="0" Grid.Column="0" Margin="30,20,10,0">
- <DockPanel>
- <!-- 钢丝绳状态及名称 -->
- <Rectangle Height="22" Width="18" RadiusX="6" RadiusY="6">
- <Rectangle.Fill>
- <MultiBinding Converter="{StaticResource ConnectivityFaultConverter}">
- <Binding Path="IsConnect"/>
- <Binding Path="Faults"/>
- <Binding Path="Faults.Count" />
- </MultiBinding>
- </Rectangle.Fill>
- </Rectangle>
- <TextBlock Text="{Binding RopeName}" FontSize="22" FontWeight="Bold"
- FontFamily="{StaticResource PuHuiTiBold}" Margin="13,0"
- VerticalAlignment="Center"/>
- <StackPanel Orientation="Horizontal"
- MouseLeftButtonDown="ParameterSetting_MouseDown"
- Cursor="Hand">
- <Image Source="/Resources/eqSet.png" Margin="10,0,5,0" Width="20" Height="20"/>
- <TextBlock Text="参数设置" FontSize="18" VerticalAlignment="Center"
- Foreground="#8D86E5" FontWeight="Regular"/>
- </StackPanel>
- </DockPanel>
- <StackPanel Margin="0,20">
- <UniformGrid Columns="2" Rows="2" Width="430" HorizontalAlignment="Left">
- <StackPanel Orientation="Horizontal" Margin="0,2">
- <TextBlock Text="风险等级" Foreground="#7886B2"/>
- <TextBlock FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}"
- Margin="20,0"
- Text="{Binding RiskLevel,Converter={StaticResource RiskLevelToTextConverter}}"
- Foreground="{Binding RiskLevel,Converter={StaticResource RiskLevelToColorConverter}}"/>
- </StackPanel>
- <StackPanel Orientation="Horizontal" Margin="-20,2,0,0">
- <TextBlock Text="起升高度" Foreground="#7886B2"/>
- <TextBlock Foreground="#FFFFFF" FontWeight="Bold"
- FontFamily="{StaticResource PuHuiTiBold}" Margin="40,0">
- <Run Text="{Binding LiftHeight,StringFormat=#0.0}"/>
- <Run Text="m"/>
- </TextBlock>
- </StackPanel>
- <StackPanel Orientation="Horizontal" Margin="0,2">
- <TextBlock Text="损伤数量" Foreground="#7886B2"/>
- <TextBlock Text="{Binding DamageCount}" Foreground="#FFFFFF"
- FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}"
- Margin="20,0"/>
- <TextBlock Text="详情" Foreground="#7F74FF" FontSize="18"
- FontWeight="Regular" Cursor="Hand"
- MouseLeftButtonDown="EquipmentAlarm_MouseDown"
- Visibility="{Binding DamageCount,Converter={StaticResource CollectionCountToVisibilityConverter}}"/>
- </StackPanel>
- <StackPanel Orientation="Horizontal" Margin="-20,2,0,2">
- <TextBlock Text="最大损伤值" Foreground="#7886B2"/>
- <TextBlock Foreground="#FFFFFF" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="20,0">
- <Run Text="{Binding MaxDamageValue,StringFormat=#0.0}"/>
- <Run Text="%"/>
- </TextBlock>
- </StackPanel>
- </UniformGrid>
- <ctr:DamageRangeControl HorizontalAlignment="Stretch"
- Height="45"
- FontSize="16"
- Margin="0,20,30,0"
- MildCount="{Binding MildCount}"
- LightCount="{Binding LightCount}"
- ModerateCount="{Binding ModerateCount}"
- SevereCount="{Binding SevereCount}"
- CriticalCount="{Binding CriticalCount}"
- ExtremeCount="{Binding ExtremeCount}"/>
- </StackPanel>
- </StackPanel>
- <!-- 右侧绳索设备控制 -->
- <ctr:RopeEquipmentControl Grid.RowSpan="2" Grid.Column="1" Grid.Row="0"
- PanelMargin="-80,25,0,0" Margin="0,0,0,-16"
- EquipmentTopPosition="100"
- PanelNameFontSize="18"
- PanelValueFontSize="20"
- RopeImageSource="/Resources/rope_block.png"
- EquipmentImageSource="/Resources/equipment.png"
- AnimationDuration="0.5">
- <ctr:RopeEquipmentControl.Style>
- <Style TargetType="ctr:RopeEquipmentControl">
- <Style.Triggers>
- <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Stoped}">
- <Setter Property="IsAnimationRunning" Value="False"/>
- </DataTrigger>
- <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Forward}">
- <Setter Property="IsAnimationRunning" Value="True"/>
- <Setter Property="IsAnimationReversed" Value="False"/>
- </DataTrigger>
- <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Reverse}">
- <Setter Property="IsAnimationRunning" Value="True"/>
- <Setter Property="IsAnimationReversed" Value="True"/>
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </ctr:RopeEquipmentControl.Style>
- </ctr:RopeEquipmentControl>
- <!-- 实时图表 -->
- <ctr:RealTimeLineChart Grid.Row="1" Margin="0,0,-90,-5" x:Name="ChartLine"
- SensorCount="{Binding SensorCount}"
- SamplingStep="{Binding SamplingStep,Mode=TwoWay}"
- RopeLength="{Binding RopeLength}"/>
- <!-- 调试信息 + 实时数据 -->
- <DockPanel Grid.Row="2" VerticalAlignment="Center" Margin="20,-7,10,2">
- <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left"
- Visibility="{Binding DebugMessage.Message,Converter={StaticResource StringEmptyToVisibilityConverter}}">
- <TextBlock Style="{StaticResource HeartbeatTextBlockStyle}" FontSize="15" Margin="0,2,0,0"
- VerticalAlignment="Center" Foreground="#7F74FF"/>
- <TextBlock Text="{Binding DebugMessage.DateTime,StringFormat=HH:mm:ss}"
- FontSize="15" Margin="5,0" VerticalAlignment="Center"
- Foreground="#7F74FF"/>
- <TextBlock Text="{Binding DebugMessage.Message}" FontSize="15" Margin="5,0"
- VerticalAlignment="Center" Foreground="#7F74FF"/>
- </StackPanel>
- <ItemsControl ItemsSource="{Binding LiveStreamValues}" Margin="10,4,-90,0" HorizontalAlignment="Right">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <WrapPanel/>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <TextBlock Text="{Binding}" FontSize="12" Margin="4,0,0,0"
- Width="20" Foreground="White" Opacity="0.2" FontWeight="Medium">
- <TextBlock.Style>
- <Style TargetType="TextBlock">
- <Style.Triggers>
- <DataTrigger Binding="{Binding}" Value="0">
- <Setter Property="Visibility" Value="Collapsed"/>
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </TextBlock.Style>
- </TextBlock>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
- </DockPanel>
- </Grid>
- </Border>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
- </UserControl>
|