TwoRopesControl.xaml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <UserControl x:Class="SWRIS.Pages.RealTime.TwoRopesControl"
  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:enum="clr-namespace:SWRIS.Enums"
  10. mc:Ignorable="d" FontSize="20"
  11. Foreground="#FFFFFF"
  12. FontFamily="{StaticResource PuHuiTiRegular}">
  13. <UserControl.Resources>
  14. <cvt:RiskLevelToColorConverter x:Key="RiskLevelToColorConverter"/>
  15. <cvt:RiskLevelToTextConverter x:Key="RiskLevelToTextConverter"/>
  16. <cvt:ConnectivityFaultToColorConverter x:Key="ConnectivityFaultConverter"/>
  17. <cvt:CollectionCountToVisibilityConverter x:Key="CollectionCountToVisibilityConverter"/>
  18. <cvt:ConnectivityToVisibilityConverter x:Key="ConnectivityToVisibilityConverter"/>
  19. <cvt:StringEmptyToVisibilityConverter x:Key="StringEmptyToVisibilityConverter"/>
  20. </UserControl.Resources>
  21. <ItemsControl ItemsSource="{Binding Equipments}" Margin="25,15,25,-10">
  22. <ItemsControl.ItemsPanel>
  23. <ItemsPanelTemplate>
  24. <UniformGrid Columns="1" Rows="2"/>
  25. </ItemsPanelTemplate>
  26. </ItemsControl.ItemsPanel>
  27. <ItemsControl.ItemTemplate>
  28. <DataTemplate>
  29. <Border Grid.Row="0" CornerRadius="10" Margin="0,10,0,15" Loaded="OnCardLoaded">
  30. <Border.Background>
  31. <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
  32. <GradientStop Color="#2a2956" Offset="0"/>
  33. <GradientStop Color="#161536" Offset="0.40"/>
  34. <GradientStop Color="#1f1e44" Offset="1"/>
  35. </LinearGradientBrush>
  36. </Border.Background>
  37. <Grid>
  38. <Grid.RowDefinitions>
  39. <RowDefinition Height="180"/>
  40. <RowDefinition Height="*"/>
  41. <RowDefinition Height="Auto"/>
  42. </Grid.RowDefinitions>
  43. <Grid.ColumnDefinitions>
  44. <ColumnDefinition Width="*"/>
  45. <ColumnDefinition Width="180"/>
  46. </Grid.ColumnDefinitions>
  47. <StackPanel Orientation="Vertical" Grid.Row="0" Grid.Column="0" Margin="40,30,70,0">
  48. <DockPanel>
  49. <!--钢丝绳状态及名称-->
  50. <Rectangle Height="25" Width="20" RadiusX="6" RadiusY="6">
  51. <Rectangle.Fill>
  52. <MultiBinding Converter="{StaticResource ConnectivityFaultConverter}">
  53. <Binding Path="IsConnect"/>
  54. <Binding Path="Faults"/>
  55. <Binding Path="Faults.Count"/>
  56. </MultiBinding>
  57. </Rectangle.Fill>
  58. </Rectangle>
  59. <TextBlock Text="{Binding RopeName}" FontSize="30" FontWeight="Bold"
  60. FontFamily="{StaticResource PuHuiTiBold}"
  61. Margin="13,0" VerticalAlignment="Center"/>
  62. <StackPanel Orientation="Horizontal" Margin="30,0" Tag="{Binding IpAddress}"
  63. MouseLeftButtonDown="ParameterSetting_MouseDown" Cursor="Hand">
  64. <Image Source="/Resources/eqSet.png" Margin="10,0" Width="26" Height="26"/>
  65. <TextBlock Text="参数设置" FontSize="22" VerticalAlignment="Center"
  66. Foreground="#8D86E5" FontWeight="Regular"/>
  67. </StackPanel>
  68. </DockPanel>
  69. <DockPanel Margin="0,20">
  70. <UniformGrid Columns="2" Rows="2" Width="400" HorizontalAlignment="Left">
  71. <StackPanel Orientation="Horizontal" Margin="0,5">
  72. <TextBlock Text="风险等级" Foreground="#7886B2"/>
  73. <TextBlock FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="20,0"
  74. Text="{Binding RiskLevel,Converter={StaticResource RiskLevelToTextConverter}}"
  75. Foreground="{Binding RiskLevel,Converter={StaticResource RiskLevelToColorConverter}}"/>
  76. </StackPanel>
  77. <StackPanel Orientation="Horizontal" Margin="0,5">
  78. <TextBlock Text="起升高度" Foreground="#7886B2"/>
  79. <TextBlock Foreground="#FFFFFF" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="43,0">
  80. <Run Text="{Binding LiftHeight,StringFormat=#0.0}"/>
  81. <Run Text="m"/>
  82. </TextBlock>
  83. </StackPanel>
  84. <StackPanel Orientation="Horizontal" Margin="0,5">
  85. <TextBlock Text="损伤数量" Foreground="#7886B2"/>
  86. <TextBlock Text="{Binding DamageCount}" Foreground="#FFFFFF" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="20,0" />
  87. <TextBlock Text="详情" Foreground="#7F74FF" FontSize="20" FontWeight="Regular" VerticalAlignment="Bottom" Cursor="Hand"
  88. Visibility="{Binding DamageCount,Converter={StaticResource CollectionCountToVisibilityConverter}}"
  89. Tag="{Binding IpAddress}"
  90. MouseLeftButtonDown="EquipmentAlarm_MouseDown"/>
  91. </StackPanel>
  92. <StackPanel Orientation="Horizontal" Margin="0,5">
  93. <TextBlock Text="最大损伤值" Foreground="#7886B2"/>
  94. <TextBlock Foreground="#FFFFFF" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="20,0">
  95. <Run Text="{Binding MaxDamageValue,StringFormat=#0.0}"/>
  96. <Run Text="%"/>
  97. </TextBlock>
  98. </StackPanel>
  99. </UniformGrid>
  100. <ctr:DamageRangeControl HorizontalAlignment="Stretch" Height="45"
  101. FontSize="16" Margin="60,25,0,0"
  102. MildCount="{Binding MildCount}"
  103. LightCount="{Binding LightCount}"
  104. ModerateCount="{Binding ModerateCount}"
  105. SevereCount="{Binding SevereCount}"
  106. CriticalCount="{Binding CriticalCount}"
  107. ExtremeCount="{Binding ExtremeCount}"/>
  108. </DockPanel>
  109. </StackPanel>
  110. <ctr:RopeEquipmentControl Grid.RowSpan="2" Grid.Column="1"
  111. Grid.Row="0" Margin="0,0,0,-15"
  112. PanelMargin="-100,50,0,0"
  113. EquipmentTopPosition="120"
  114. PanelNameFontSize="18"
  115. PanelValueFontSize="20"
  116. RopeImageSource="/Resources/rope_block.png"
  117. EquipmentImageSource="/Resources/equipment.png"
  118. AnimationDuration="0.5">
  119. <ctr:RopeEquipmentControl.Style>
  120. <Style TargetType="ctr:RopeEquipmentControl">
  121. <Style.Triggers>
  122. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Stoped}">
  123. <Setter Property="IsAnimationRunning" Value="False"/>
  124. </DataTrigger>
  125. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Forward}">
  126. <Setter Property="IsAnimationRunning" Value="True"/>
  127. <Setter Property="IsAnimationReversed" Value="False"/>
  128. </DataTrigger>
  129. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Reverse}">
  130. <Setter Property="IsAnimationRunning" Value="True"/>
  131. <Setter Property="IsAnimationReversed" Value="True"/>
  132. </DataTrigger>
  133. </Style.Triggers>
  134. </Style>
  135. </ctr:RopeEquipmentControl.Style>
  136. </ctr:RopeEquipmentControl>
  137. <ctr:RealTimeLineChart x:Name="firstChartLine" Grid.Row="1"
  138. Margin="25,10,-70,0"
  139. SensorCount="{Binding SensorCount}"
  140. SamplingStep="{Binding SamplingStep}"
  141. RopeLength="{Binding RopeLength}"/>
  142. <DockPanel Grid.Row="2" VerticalAlignment="Center" Margin="40,-10,10,3">
  143. <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left"
  144. Visibility="{Binding DebugMessage.Message,Converter={StaticResource StringEmptyToVisibilityConverter}}">
  145. <TextBlock Style="{StaticResource HeartbeatTextBlockStyle}" FontSize="17" VerticalAlignment="Center" Foreground="#7F74FF"/>
  146. <TextBlock Text="{Binding DebugMessage.DateTime,StringFormat=HH:mm:ss}" FontSize="16" Margin="8,0,5,0"
  147. VerticalAlignment="Center" Foreground="#7F74FF"/>
  148. <TextBlock Text="{Binding DebugMessage.Message}" FontSize="16" Margin="5,0" VerticalAlignment="Center" Foreground="#7F74FF"/>
  149. </StackPanel>
  150. <ItemsControl ItemsSource="{Binding LiveStreamValues}" Margin="10,4,-70,0" HorizontalAlignment="Right">
  151. <ItemsControl.ItemsPanel>
  152. <ItemsPanelTemplate><WrapPanel/></ItemsPanelTemplate>
  153. </ItemsControl.ItemsPanel>
  154. <ItemsControl.ItemTemplate>
  155. <DataTemplate>
  156. <TextBlock Text="{Binding}" FontSize="12" Margin="4,0,0,0"
  157. Width="20" Foreground="White" Opacity="0.2" FontWeight="Medium">
  158. <TextBlock.Style>
  159. <Style TargetType="TextBlock">
  160. <Style.Triggers>
  161. <DataTrigger Binding="{Binding}" Value="0">
  162. <Setter Property="Visibility" Value="Collapsed"/>
  163. </DataTrigger>
  164. </Style.Triggers>
  165. </Style>
  166. </TextBlock.Style>
  167. </TextBlock>
  168. </DataTemplate>
  169. </ItemsControl.ItemTemplate>
  170. </ItemsControl>
  171. </DockPanel>
  172. </Grid>
  173. </Border>
  174. </DataTemplate>
  175. </ItemsControl.ItemTemplate>
  176. </ItemsControl>
  177. </UserControl>