OneRopePage.xaml 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <Page x:Class="SWRIS.Pages.RealTime.OneRopePage"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:SWRIS.Pages.RealTime"
  7. xmlns:cvt="clr-namespace:SWRIS.Converters"
  8. xmlns:ctr="clr-namespace:SWRIS.Controls"
  9. xmlns:vm="clr-namespace:SWRIS.Models.ViewModel"
  10. xmlns:enum="clr-namespace:SWRIS.Enums"
  11. mc:Ignorable="d" FontSize="28"
  12. Foreground="#FFFFFF"
  13. FontFamily="{StaticResource PuHuiTiRegular}"
  14. d:DesignHeight="900" d:DesignWidth="1920"
  15. Title="OneRopePage">
  16. <Page.Resources>
  17. <cvt:RiskLevelToColorConverter x:Key="RiskLevelToColorConverter"/>
  18. <cvt:RiskLevelToTextConverter x:Key="RiskLevelToTextConverter"/>
  19. <cvt:ConnectivityFaultToColorConverter x:Key="ConnectivityFaultConverter"/>
  20. <cvt:CollectionCountToVisibilityConverter x:Key="CollectionCountToVisibilityConverter"/>
  21. <cvt:ConnectivityToVisibilityConverter x:Key="ConnectivityToVisibilityConverter"/>
  22. <cvt:StringEmptyToVisibilityConverter x:Key="StringEmptyToVisibilityConverter"/>
  23. </Page.Resources>
  24. <Page.DataContext>
  25. <vm:OneRopeViewModel/>
  26. </Page.DataContext>
  27. <Grid Margin="25,30,25,7">
  28. <Grid.ColumnDefinitions>
  29. <ColumnDefinition Width="*"/>
  30. <ColumnDefinition Width="370"/>
  31. </Grid.ColumnDefinitions>
  32. <Border CornerRadius="10" Grid.Column="0">
  33. <Border.Background>
  34. <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
  35. <GradientStop Color="#2a2956" Offset="0"/>
  36. <GradientStop Color="#161536" Offset="0.40"/>
  37. <GradientStop Color="#1f1e44" Offset="1"/>
  38. </LinearGradientBrush>
  39. </Border.Background>
  40. <Grid DataContext="{Binding EquipmentData}">
  41. <Grid.RowDefinitions>
  42. <RowDefinition Height="410"/>
  43. <RowDefinition Height="*"/>
  44. <RowDefinition Height="Auto"/>
  45. </Grid.RowDefinitions>
  46. <Grid.ColumnDefinitions>
  47. <ColumnDefinition Width="*"/>
  48. <ColumnDefinition Width="200"/>
  49. </Grid.ColumnDefinitions>
  50. <StackPanel Orientation="Vertical" Grid.Row="0" Grid.Column="0" Margin="55,50,80,0">
  51. <DockPanel>
  52. <!--钢丝绳状态及名称-->
  53. <Rectangle Height="25" Width="20" RadiusX="6" RadiusY="6">
  54. <Rectangle.Fill>
  55. <MultiBinding Converter="{StaticResource ConnectivityFaultConverter}">
  56. <Binding Path="IsConnect"/>
  57. <Binding Path="Faults"/>
  58. </MultiBinding>
  59. </Rectangle.Fill>
  60. </Rectangle>
  61. <TextBlock Text="{Binding RopeName}" FontSize="30" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="13,0" VerticalAlignment="Center"/>
  62. <StackPanel Orientation="Horizontal" Margin="30,0" MouseLeftButtonDown="ParameterSetting_MouseDown" Cursor="Hand">
  63. <Image Source="/Resources/eqSet.png" Margin="10,0" Width="26" Height="26"/>
  64. <TextBlock Text="参数设置" FontSize="24" VerticalAlignment="Center" Foreground="#8D86E5" FontWeight="Regular"/>
  65. </StackPanel>
  66. <!--消息通知-->
  67. <ctr:NotificationBar FontSize="24" Height="50" MaxWidth="800" HorizontalAlignment="Right" Messages="{Binding Messages}"/>
  68. </DockPanel>
  69. <UniformGrid Columns="4" Width="900" Margin="0,80,0,0" HorizontalAlignment="Left">
  70. <StackPanel Orientation="Vertical">
  71. <TextBlock Text="风险等级" Foreground="#7886B2" FontWeight="Regular"/>
  72. <TextBlock FontWeight="Bold" FontFamily="{StaticResource PuHuiTiRegular}" FontSize="36" Margin="0,10"/>
  73. </StackPanel>
  74. <StackPanel Orientation="Vertical">
  75. <TextBlock Text="起升高度" Foreground="#7886B2" FontWeight="Regular"/>
  76. <TextBlock FontWeight="Bold" FontFamily="{StaticResource PuHuiTiRegular}" FontSize="36" Margin="0,10">
  77. <Run Text="{Binding LiftHeight,StringFormat=#0.0}"/>
  78. <Run Text="m"/>
  79. </TextBlock>
  80. </StackPanel>
  81. <StackPanel Orientation="Vertical">
  82. <TextBlock Text="损伤数量" Foreground="#7886B2" FontWeight="Regular"/>
  83. <StackPanel Orientation="Horizontal" Margin="0,10">
  84. <TextBlock Text="{Binding DamageCount}" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiRegular}" FontSize="36" MaxWidth="80"/>
  85. <TextBlock Text="详情" Foreground="#7F74FF" FontSize="24" FontWeight="Regular" Margin="15,10"
  86. Cursor="Hand" MouseLeftButtonDown="AlarmDetail_MouseDown"
  87. Visibility="{Binding DamageCount,Converter={StaticResource CollectionCountToVisibilityConverter}}"/>
  88. </StackPanel>
  89. </StackPanel>
  90. <StackPanel Orientation="Vertical">
  91. <TextBlock Text="最大损伤值" Foreground="#7886B2" FontWeight="Regular"/>
  92. <TextBlock FontWeight="Bold" FontFamily="{StaticResource PuHuiTiRegular}" FontSize="36" Margin="0,10">
  93. <Run Text="{Binding MaxDamageValue,StringFormat=#0.0}"/>
  94. <Run Text="%"/>
  95. </TextBlock>
  96. </StackPanel>
  97. </UniformGrid>
  98. <ctr:DamageRangeControl Margin="0,40,-105,0" HorizontalAlignment="Stretch" Height="50" FontSize="20"
  99. MildCount="{Binding MildCount}" LightCount="{Binding LightCount}"
  100. ModerateCount="{Binding ModerateCount}" SevereCount="{Binding SevereCount}"
  101. CriticalCount="{Binding CriticalCount}" ExtremeCount="{Binding ExtremeCount}"/>
  102. </StackPanel>
  103. <ctr:RopeEquipmentControl Grid.RowSpan="2" Grid.Column="1" Grid.Row="0"
  104. PanelMargin="-80,50,0,0"
  105. EquipmentTopPosition="300"
  106. PanelNameFontSize="24"
  107. PanelValueFontSize="26"
  108. RopeImageSource="/Resources/rope_block.png"
  109. EquipmentImageSource="/Resources/equipment.png"
  110. AnimationDuration="0.5" RopeHeight="903">
  111. <ctr:RopeEquipmentControl.Style>
  112. <Style TargetType="ctr:RopeEquipmentControl">
  113. <Style.Triggers>
  114. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Stoped}">
  115. <Setter Property="IsAnimationRunning" Value="False"/>
  116. </DataTrigger>
  117. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Forward}">
  118. <Setter Property="IsAnimationRunning" Value="True"/>
  119. <Setter Property="IsAnimationReversed" Value="False"/>
  120. </DataTrigger>
  121. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Reverse}">
  122. <Setter Property="IsAnimationRunning" Value="True"/>
  123. <Setter Property="IsAnimationReversed" Value="True"/>
  124. </DataTrigger>
  125. </Style.Triggers>
  126. </Style>
  127. </ctr:RopeEquipmentControl.Style>
  128. </ctr:RopeEquipmentControl>
  129. <ctr:RealTimeLineChart x:Name="chartLine" Grid.Row="1" Margin="20,0,-40,-5"
  130. SensorCount="{Binding SensorCount,Mode=TwoWay}"
  131. SamplingStep="{Binding SamplingStep,Mode=TwoWay}"
  132. RopeLength="{Binding RopeLength,Mode=TwoWay}"/>
  133. <StackPanel Grid.Row="2" Orientation="Horizontal" Margin="40,0,-100,5"
  134. Visibility="{Binding DebugMessage.Message,Converter={StaticResource StringEmptyToVisibilityConverter}}">
  135. <TextBlock Style="{StaticResource HeartbeatTextBlockStyle}" FontSize="17" VerticalAlignment="Center" Foreground="#7F74FF"/>
  136. <TextBlock Text="{Binding DebugMessage.DateTime,StringFormat=HH:mm:ss}" FontSize="16" Margin="5,0" VerticalAlignment="Center" Foreground="#7F74FF"/>
  137. <TextBlock Text="{Binding DebugMessage.Message}" FontSize="16" Margin="5,0" VerticalAlignment="Center" Foreground="#7F74FF"/>
  138. </StackPanel>
  139. </Grid>
  140. </Border>
  141. <ctr:DamageRecordControl Grid.Column="1" Margin="25,0,0,0" Records="{Binding Records}" Title="近期记录"/>
  142. </Grid>
  143. </Page>