FourRopesPage.xaml 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523
  1. <Page x:Class="SWRIS.Pages.RealTime.FourRopesPage"
  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:vm="clr-namespace:SWRIS.Models.ViewModel"
  8. xmlns:cvt="clr-namespace:SWRIS.Converters"
  9. xmlns:ctr="clr-namespace:SWRIS.Controls"
  10. xmlns:enum="clr-namespace:SWRIS.Enums"
  11. mc:Ignorable="d" FontSize="20"
  12. Foreground="#FFFFFF"
  13. FontFamily="{StaticResource PuHuiTiRegular}"
  14. d:DesignHeight="900" d:DesignWidth="1920"
  15. Title="FourRopesPage">
  16. <Page.DataContext>
  17. <vm:FourRopesViewModel/>
  18. </Page.DataContext>
  19. <Page.Resources>
  20. <cvt:RiskLevelToColorConverter x:Key="RiskLevelToColorConverter"/>
  21. <cvt:RiskLevelToTextConverter x:Key="RiskLevelToTextConverter"/>
  22. <cvt:ConnectivityFaultToColorConverter x:Key="ConnectivityFaultConverter"/>
  23. <cvt:CollectionCountToVisibilityConverter x:Key="CollectionCountToVisibilityConverter"/>
  24. <cvt:ConnectivityToVisibilityConverter x:Key="ConnectivityToVisibilityConverter"/>
  25. <cvt:StringEmptyToVisibilityConverter x:Key="StringEmptyToVisibilityConverter"/>
  26. </Page.Resources>
  27. <Grid Margin="25,30,25,7">
  28. <Grid.ColumnDefinitions>
  29. <ColumnDefinition Width="*"/>
  30. <ColumnDefinition Width="*"/>
  31. <ColumnDefinition Width="370"/>
  32. </Grid.ColumnDefinitions>
  33. <Grid.RowDefinitions>
  34. <RowDefinition Height="*"/>
  35. <RowDefinition Height="*"/>
  36. </Grid.RowDefinitions>
  37. <Border Grid.Row="0" Grid.Column="0" CornerRadius="10" Margin="0,0,15,15" DataContext="{Binding FirstEquipmentData}">
  38. <Border.Background>
  39. <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
  40. <GradientStop Color="#2a2956" Offset="0"/>
  41. <GradientStop Color="#161536" Offset="0.40"/>
  42. <GradientStop Color="#1f1e44" Offset="1"/>
  43. </LinearGradientBrush>
  44. </Border.Background>
  45. <Grid>
  46. <Grid.RowDefinitions>
  47. <RowDefinition Height="200"/>
  48. <RowDefinition Height="*"/>
  49. <RowDefinition Height="Auto"/>
  50. </Grid.RowDefinitions>
  51. <Grid.ColumnDefinitions>
  52. <ColumnDefinition Width="*"/>
  53. <ColumnDefinition Width="210"/>
  54. </Grid.ColumnDefinitions>
  55. <StackPanel Orientation="Vertical" Grid.Row="0" Grid.Column="0" Margin="30,20,10,0">
  56. <DockPanel>
  57. <!--钢丝绳状态及名称-->
  58. <Rectangle Height="20" Width="16" RadiusX="6" RadiusY="6">
  59. <Rectangle.Fill>
  60. <MultiBinding Converter="{StaticResource ConnectivityFaultConverter}">
  61. <Binding Path="IsConnect"/>
  62. <Binding Path="Faults"/>
  63. </MultiBinding>
  64. </Rectangle.Fill>
  65. </Rectangle>
  66. <TextBlock Text="{Binding RopeName}" FontSize="24" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}"
  67. Margin="10,0" VerticalAlignment="Center"/>
  68. <StackPanel Orientation="Horizontal" MouseLeftButtonDown="FirstParameterSetting_MouseDown" Cursor="Hand">
  69. <Image Source="/Resources/eqSet.png" Margin="10,0,5,0" Width="20" Height="20"/>
  70. <TextBlock Text="参数设置" FontSize="18" VerticalAlignment="Center" Foreground="#8D86E5" FontWeight="Regular"/>
  71. </StackPanel>
  72. <!--消息通知-->
  73. <ctr:NotificationBar Height="35" MaxWidth="240" FontSize="20" HorizontalAlignment="Right"
  74. Messages="{Binding Messages}" Margin="0,0,-120,0"/>
  75. </DockPanel>
  76. <StackPanel Margin="0,20">
  77. <UniformGrid Columns="2" Rows="2" Width="400" HorizontalAlignment="Left">
  78. <StackPanel Orientation="Horizontal" Margin="0,2">
  79. <TextBlock Text="风险等级" Foreground="#7886B2"/>
  80. <TextBlock FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="20,0"
  81. Text="{Binding RiskLevel,Converter={StaticResource RiskLevelToTextConverter}}"
  82. Foreground="{Binding RiskLevel,Converter={StaticResource RiskLevelToColorConverter}}"/>
  83. </StackPanel>
  84. <StackPanel Orientation="Horizontal" Margin="0,2">
  85. <TextBlock Text="起升高度" Foreground="#7886B2"/>
  86. <TextBlock Foreground="#FFFFFF" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="40,0">
  87. <Run Text="{Binding LiftHeight,StringFormat=#0.0}"/>
  88. <Run Text="m"/>
  89. </TextBlock>
  90. </StackPanel>
  91. <StackPanel Orientation="Horizontal" Margin="0,2">
  92. <TextBlock Text="损伤数量" Foreground="#7886B2"/>
  93. <TextBlock Text="{Binding DamageCount}" Foreground="#FFFFFF" FontWeight="Bold"
  94. FontFamily="{StaticResource PuHuiTiBold}" Margin="20,0" />
  95. <TextBlock Text="详情" Foreground="#7F74FF" FontSize="18" FontWeight="Regular"
  96. Cursor="Hand" MouseLeftButtonDown="FirstEquipmentAlarm_MouseDown"
  97. Visibility="{Binding DamageCount,Converter={StaticResource CollectionCountToVisibilityConverter}}"/>
  98. </StackPanel>
  99. <StackPanel Orientation="Horizontal" Margin="0,2">
  100. <TextBlock Text="最大损伤值" Foreground="#7886B2"/>
  101. <TextBlock Foreground="#FFFFFF" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="20,0">
  102. <Run Text="{Binding MaxDamageValue,StringFormat=#0.0}"/>
  103. <Run Text="%"/>
  104. </TextBlock>
  105. </StackPanel>
  106. </UniformGrid>
  107. <ctr:DamageRangeControl HorizontalAlignment="Stretch" Height="40" FontSize="16" Margin="0,20,30,0"
  108. MildCount="{Binding MildCount}" LightCount="{Binding LightCount}"
  109. ModerateCount="{Binding ModerateCount}" SevereCount="{Binding SevereCount}"
  110. CriticalCount="{Binding CriticalCount}" ExtremeCount="{Binding ExtremeCount}"/>
  111. </StackPanel>
  112. </StackPanel>
  113. <ctr:RopeEquipmentControl Grid.RowSpan="2" Grid.Column="1" Grid.Row="0"
  114. PanelMargin="-80,30,0,0"
  115. EquipmentTopPosition="160"
  116. PanelNameFontSize="18"
  117. PanelValueFontSize="20"
  118. RopeImageSource="/Resources/rope_block.png"
  119. EquipmentImageSource="/Resources/equipment.png"
  120. AnimationDuration="0.5" RopeHeight="435">
  121. <ctr:RopeEquipmentControl.Style>
  122. <Style TargetType="ctr:RopeEquipmentControl">
  123. <Style.Triggers>
  124. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Stoped}">
  125. <Setter Property="IsAnimationRunning" Value="False"/>
  126. </DataTrigger>
  127. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Forward}">
  128. <Setter Property="IsAnimationRunning" Value="True"/>
  129. <Setter Property="IsAnimationReversed" Value="False"/>
  130. </DataTrigger>
  131. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Reverse}">
  132. <Setter Property="IsAnimationRunning" Value="True"/>
  133. <Setter Property="IsAnimationReversed" Value="True"/>
  134. </DataTrigger>
  135. </Style.Triggers>
  136. </Style>
  137. </ctr:RopeEquipmentControl.Style>
  138. </ctr:RopeEquipmentControl>
  139. <ctr:RealTimeLineChart x:Name="firstChartLine" Grid.Row="1"
  140. Margin="0,0,-90,-5"
  141. SensorCount="{Binding SensorCount}"
  142. SamplingStep="{Binding SamplingStep,Mode=TwoWay}"
  143. RopeLength="{Binding RopeLength}"/>
  144. <StackPanel Grid.Row="2" Orientation="Horizontal" Margin="20,-5,-100,3"
  145. Visibility="{Binding DebugMessage.Message,Converter={StaticResource StringEmptyToVisibilityConverter}}">
  146. <TextBlock Style="{StaticResource HeartbeatTextBlockStyle}" FontSize="17"
  147. VerticalAlignment="Center"
  148. Foreground="#7F74FF"/>
  149. <TextBlock Text="{Binding DebugMessage.DateTime,StringFormat=HH:mm:ss}" FontSize="16" Margin="5,0"
  150. VerticalAlignment="Center"
  151. Foreground="#7F74FF"/>
  152. <TextBlock Text="{Binding DebugMessage.Message}" FontSize="16" Margin="5,0"
  153. VerticalAlignment="Center"
  154. Foreground="#7F74FF"/>
  155. </StackPanel>
  156. </Grid>
  157. </Border>
  158. <Border Grid.Row="0" Grid.Column="1" CornerRadius="10" Margin="15,0,0,15" DataContext="{Binding SecondEquipmentData}">
  159. <Border.Background>
  160. <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
  161. <GradientStop Color="#2a2956" Offset="0"/>
  162. <GradientStop Color="#161536" Offset="0.40"/>
  163. <GradientStop Color="#1f1e44" Offset="1"/>
  164. </LinearGradientBrush>
  165. </Border.Background>
  166. <Grid>
  167. <Grid.RowDefinitions>
  168. <RowDefinition Height="200"/>
  169. <RowDefinition Height="*"/>
  170. <RowDefinition Height="Auto"/>
  171. </Grid.RowDefinitions>
  172. <Grid.ColumnDefinitions>
  173. <ColumnDefinition Width="*"/>
  174. <ColumnDefinition Width="210"/>
  175. </Grid.ColumnDefinitions>
  176. <StackPanel Orientation="Vertical" Grid.Row="0" Grid.Column="0" Margin="30,20,10,0">
  177. <DockPanel>
  178. <!--钢丝绳状态及名称-->
  179. <Rectangle Height="20" Width="16" RadiusX="6" RadiusY="6">
  180. <Rectangle.Fill>
  181. <MultiBinding Converter="{StaticResource ConnectivityFaultConverter}">
  182. <Binding Path="IsConnect"/>
  183. <Binding Path="Faults"/>
  184. </MultiBinding>
  185. </Rectangle.Fill>
  186. </Rectangle>
  187. <TextBlock Text="{Binding RopeName}" FontSize="24" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}"
  188. Margin="13,0" VerticalAlignment="Center"/>
  189. <StackPanel Orientation="Horizontal" MouseLeftButtonDown="SecondParameterSetting_MouseDown" Cursor="Hand">
  190. <Image Source="/Resources/eqSet.png" Margin="10,0,5,0" Width="20" Height="20"/>
  191. <TextBlock Text="参数设置" FontSize="18" VerticalAlignment="Center" Foreground="#8D86E5" FontWeight="Regular"/>
  192. </StackPanel>
  193. <!--消息通知-->
  194. <ctr:NotificationBar Height="35" MaxWidth="240" FontSize="20" HorizontalAlignment="Right"
  195. Messages="{Binding Messages}"/>
  196. </DockPanel>
  197. <StackPanel Margin="0,20">
  198. <UniformGrid Columns="2" Rows="2" Width="400" HorizontalAlignment="Left">
  199. <StackPanel Orientation="Horizontal" Margin="0,2">
  200. <TextBlock Text="风险等级" Foreground="#7886B2"/>
  201. <TextBlock FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="20,0"
  202. Text="{Binding RiskLevel,Converter={StaticResource RiskLevelToTextConverter}}"
  203. Foreground="{Binding RiskLevel,Converter={StaticResource RiskLevelToColorConverter}}"/>
  204. </StackPanel>
  205. <StackPanel Orientation="Horizontal" Margin="0,2">
  206. <TextBlock Text="起升高度" Foreground="#7886B2"/>
  207. <TextBlock Foreground="#FFFFFF" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="40,0">
  208. <Run Text="{Binding LiftHeight,StringFormat=#0.0}"/>
  209. <Run Text="m"/>
  210. </TextBlock>
  211. </StackPanel>
  212. <StackPanel Orientation="Horizontal" Margin="0,2">
  213. <TextBlock Text="损伤数量" Foreground="#7886B2"/>
  214. <TextBlock Text="{Binding DamageCount}" Foreground="#FFFFFF" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="20,0" />
  215. <TextBlock Text="详情" Foreground="#7F74FF" FontSize="18" FontWeight="Regular"
  216. Cursor="Hand" MouseLeftButtonDown="SecondEquipmentAlarm_MouseDown"
  217. Visibility="{Binding DamageCount,Converter={StaticResource CollectionCountToVisibilityConverter}}"/>
  218. </StackPanel>
  219. <StackPanel Orientation="Horizontal" Margin="0,2">
  220. <TextBlock Text="最大损伤值" Foreground="#7886B2"/>
  221. <TextBlock Foreground="#FFFFFF" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="20,0">
  222. <Run Text="{Binding MaxDamageValue,StringFormat=#0.0}"/>
  223. <Run Text="%"/>
  224. </TextBlock>
  225. </StackPanel>
  226. </UniformGrid>
  227. <ctr:DamageRangeControl HorizontalAlignment="Stretch" Height="40" FontSize="16" Margin="0,20,30,0"
  228. MildCount="{Binding MildCount}" LightCount="{Binding LightCount}"
  229. ModerateCount="{Binding ModerateCount}" SevereCount="{Binding SevereCount}"
  230. CriticalCount="{Binding CriticalCount}" ExtremeCount="{Binding ExtremeCount}"/>
  231. </StackPanel>
  232. </StackPanel>
  233. <ctr:RopeEquipmentControl Grid.RowSpan="2" Grid.Column="1" Grid.Row="0"
  234. PanelMargin="-80,30,0,0"
  235. EquipmentTopPosition="160"
  236. PanelNameFontSize="18"
  237. PanelValueFontSize="20"
  238. RopeImageSource="/Resources/rope_block.png"
  239. EquipmentImageSource="/Resources/equipment.png"
  240. AnimationDuration="0.5" RopeHeight="435">
  241. <ctr:RopeEquipmentControl.Style>
  242. <Style TargetType="ctr:RopeEquipmentControl">
  243. <Style.Triggers>
  244. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Stoped}">
  245. <Setter Property="IsAnimationRunning" Value="False"/>
  246. </DataTrigger>
  247. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Forward}">
  248. <Setter Property="IsAnimationRunning" Value="True"/>
  249. <Setter Property="IsAnimationReversed" Value="False"/>
  250. </DataTrigger>
  251. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Reverse}">
  252. <Setter Property="IsAnimationRunning" Value="True"/>
  253. <Setter Property="IsAnimationReversed" Value="True"/>
  254. </DataTrigger>
  255. </Style.Triggers>
  256. </Style>
  257. </ctr:RopeEquipmentControl.Style>
  258. </ctr:RopeEquipmentControl>
  259. <ctr:RealTimeLineChart x:Name="secondChartLine" Grid.Row="1"
  260. Margin="0,0,-90,-5"
  261. SensorCount="{Binding SensorCount}"
  262. SamplingStep="{Binding SamplingStep,Mode=TwoWay}"
  263. RopeLength="{Binding RopeLength}"/>
  264. <StackPanel Grid.Row="2" Orientation="Horizontal" Margin="20,-5,-100,3"
  265. Visibility="{Binding DebugMessage.Message,Converter={StaticResource StringEmptyToVisibilityConverter}}">
  266. <TextBlock Style="{StaticResource HeartbeatTextBlockStyle}" FontSize="17"
  267. VerticalAlignment="Center"
  268. Foreground="#7F74FF"/>
  269. <TextBlock Text="{Binding DebugMessage.DateTime,StringFormat=HH:mm:ss}" FontSize="16" Margin="5,0"
  270. VerticalAlignment="Center"
  271. Foreground="#7F74FF"/>
  272. <TextBlock Text="{Binding DebugMessage.Message}" FontSize="16" Margin="5,0"
  273. VerticalAlignment="Center"
  274. Foreground="#7F74FF"/>
  275. </StackPanel>
  276. </Grid>
  277. </Border>
  278. <Border Grid.Row="1" Grid.Column="0" CornerRadius="10" Margin="0,15,15,0" DataContext="{Binding ThirdEquipmentData}">
  279. <Border.Background>
  280. <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
  281. <GradientStop Color="#2a2956" Offset="0"/>
  282. <GradientStop Color="#161536" Offset="0.40"/>
  283. <GradientStop Color="#1f1e44" Offset="1"/>
  284. </LinearGradientBrush>
  285. </Border.Background>
  286. <Grid>
  287. <Grid.RowDefinitions>
  288. <RowDefinition Height="200"/>
  289. <RowDefinition Height="*"/>
  290. <RowDefinition Height="Auto"/>
  291. </Grid.RowDefinitions>
  292. <Grid.ColumnDefinitions>
  293. <ColumnDefinition Width="*"/>
  294. <ColumnDefinition Width="210"/>
  295. </Grid.ColumnDefinitions>
  296. <StackPanel Orientation="Vertical" Grid.Row="0" Grid.Column="0" Margin="30,20,10,0">
  297. <DockPanel>
  298. <!--钢丝绳状态及名称-->
  299. <Rectangle Height="20" Width="16" RadiusX="6" RadiusY="6">
  300. <Rectangle.Fill>
  301. <MultiBinding Converter="{StaticResource ConnectivityFaultConverter}">
  302. <Binding Path="IsConnect"/>
  303. <Binding Path="Faults"/>
  304. </MultiBinding>
  305. </Rectangle.Fill>
  306. </Rectangle>
  307. <TextBlock Text="{Binding RopeName}" FontSize="24" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="13,0" VerticalAlignment="Center"/>
  308. <StackPanel Orientation="Horizontal" MouseLeftButtonDown="ThirdParameterSetting_MouseDown" Cursor="Hand">
  309. <Image Source="/Resources/eqSet.png" Margin="10,0,5,0" Width="20" Height="20"/>
  310. <TextBlock Text="参数设置" FontSize="18" VerticalAlignment="Center" Foreground="#8D86E5" FontWeight="Regular"/>
  311. </StackPanel>
  312. <!--消息通知-->
  313. <ctr:NotificationBar Height="35" MaxWidth="240" FontSize="20" HorizontalAlignment="Right" Messages="{Binding Messages}"/>
  314. </DockPanel>
  315. <StackPanel Margin="0,20">
  316. <UniformGrid Columns="2" Rows="2" Width="400" HorizontalAlignment="Left">
  317. <StackPanel Orientation="Horizontal" Margin="0,2">
  318. <TextBlock Text="风险等级" Foreground="#7886B2"/>
  319. <TextBlock FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="20,0"
  320. Text="{Binding RiskLevel,Converter={StaticResource RiskLevelToTextConverter}}"
  321. Foreground="{Binding RiskLevel,Converter={StaticResource RiskLevelToColorConverter}}"/>
  322. </StackPanel>
  323. <StackPanel Orientation="Horizontal" Margin="0,2">
  324. <TextBlock Text="起升高度" Foreground="#7886B2"/>
  325. <TextBlock Foreground="#FFFFFF" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="40,0">
  326. <Run Text="{Binding LiftHeight,StringFormat=#0.0}"/>
  327. <Run Text="m"/>
  328. </TextBlock>
  329. </StackPanel>
  330. <StackPanel Orientation="Horizontal" Margin="0,2">
  331. <TextBlock Text="损伤数量" Foreground="#7886B2"/>
  332. <TextBlock Text="{Binding DamageCount}" Foreground="#FFFFFF" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="20,0" />
  333. <TextBlock Text="详情" Foreground="#7F74FF" FontSize="18" FontWeight="Regular"
  334. Cursor="Hand" MouseLeftButtonDown="ThirdEquipmentAlarm_MouseDown"
  335. Visibility="{Binding DamageCount,Converter={StaticResource CollectionCountToVisibilityConverter}}"/>
  336. </StackPanel>
  337. <StackPanel Orientation="Horizontal" Margin="0,2">
  338. <TextBlock Text="最大损伤值" Foreground="#7886B2"/>
  339. <TextBlock Foreground="#FFFFFF" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="20,0">
  340. <Run Text="{Binding MaxDamageValue,StringFormat=#0.0}"/>
  341. <Run Text="%"/>
  342. </TextBlock>
  343. </StackPanel>
  344. </UniformGrid>
  345. <ctr:DamageRangeControl HorizontalAlignment="Stretch" Height="40" FontSize="16" Margin="0,20,30,0"
  346. MildCount="{Binding MildCount}" LightCount="{Binding LightCount}"
  347. ModerateCount="{Binding ModerateCount}" SevereCount="{Binding SevereCount}"
  348. CriticalCount="{Binding CriticalCount}" ExtremeCount="{Binding ExtremeCount}"/>
  349. </StackPanel>
  350. </StackPanel>
  351. <ctr:RopeEquipmentControl Grid.RowSpan="2" Grid.Column="1" Grid.Row="0"
  352. PanelMargin="-80,30,0,0"
  353. EquipmentTopPosition="160"
  354. PanelNameFontSize="18"
  355. PanelValueFontSize="20"
  356. RopeImageSource="/Resources/rope_block.png"
  357. EquipmentImageSource="/Resources/equipment.png"
  358. AnimationDuration="0.5" RopeHeight="435">
  359. <ctr:RopeEquipmentControl.Style>
  360. <Style TargetType="ctr:RopeEquipmentControl">
  361. <Style.Triggers>
  362. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Stoped}">
  363. <Setter Property="IsAnimationRunning" Value="False"/>
  364. </DataTrigger>
  365. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Forward}">
  366. <Setter Property="IsAnimationRunning" Value="True"/>
  367. <Setter Property="IsAnimationReversed" Value="False"/>
  368. </DataTrigger>
  369. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Reverse}">
  370. <Setter Property="IsAnimationRunning" Value="True"/>
  371. <Setter Property="IsAnimationReversed" Value="True"/>
  372. </DataTrigger>
  373. </Style.Triggers>
  374. </Style>
  375. </ctr:RopeEquipmentControl.Style>
  376. </ctr:RopeEquipmentControl>
  377. <ctr:RealTimeLineChart x:Name="thirdChartLine" Grid.Row="1" Margin="0,0,-90,-5"
  378. SensorCount="{Binding SensorCount}"
  379. SamplingStep="{Binding SamplingStep,Mode=TwoWay}"
  380. RopeLength="{Binding RopeLength}"/>
  381. <StackPanel Grid.Row="2" Orientation="Horizontal" Margin="20,-5,-100,3"
  382. Visibility="{Binding DebugMessage.Message,Converter={StaticResource StringEmptyToVisibilityConverter}}">
  383. <TextBlock Style="{StaticResource HeartbeatTextBlockStyle}" FontSize="17"
  384. VerticalAlignment="Center"
  385. Foreground="#7F74FF"/>
  386. <TextBlock Text="{Binding DebugMessage.DateTime,StringFormat=HH:mm:ss}" FontSize="16" Margin="5,0"
  387. VerticalAlignment="Center"
  388. Foreground="#7F74FF"/>
  389. <TextBlock Text="{Binding DebugMessage.Message}" FontSize="16" Margin="5,0"
  390. VerticalAlignment="Center"
  391. Foreground="#7F74FF"/>
  392. </StackPanel>
  393. </Grid>
  394. </Border>
  395. <Border Grid.Row="1" Grid.Column="1" CornerRadius="10" Margin="15,15,0,0" DataContext="{Binding FourthEquipmentData}">
  396. <Border.Background>
  397. <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
  398. <GradientStop Color="#2a2956" Offset="0"/>
  399. <GradientStop Color="#161536" Offset="0.40"/>
  400. <GradientStop Color="#1f1e44" Offset="1"/>
  401. </LinearGradientBrush>
  402. </Border.Background>
  403. <Grid>
  404. <Grid.RowDefinitions>
  405. <RowDefinition Height="200"/>
  406. <RowDefinition Height="*"/>
  407. <RowDefinition Height="Auto"/>
  408. </Grid.RowDefinitions>
  409. <Grid.ColumnDefinitions>
  410. <ColumnDefinition Width="*"/>
  411. <ColumnDefinition Width="210"/>
  412. </Grid.ColumnDefinitions>
  413. <StackPanel Orientation="Vertical" Grid.Row="0" Grid.Column="0" Margin="30,20,10,0">
  414. <DockPanel>
  415. <!--钢丝绳状态及名称-->
  416. <Rectangle Height="20" Width="16" RadiusX="6" RadiusY="6">
  417. <Rectangle.Fill>
  418. <MultiBinding Converter="{StaticResource ConnectivityFaultConverter}">
  419. <Binding Path="IsConnect"/>
  420. <Binding Path="Faults"/>
  421. </MultiBinding>
  422. </Rectangle.Fill>
  423. </Rectangle>
  424. <TextBlock Text="{Binding RopeName}" FontSize="24" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="13,0" VerticalAlignment="Center"/>
  425. <StackPanel Orientation="Horizontal" MouseLeftButtonDown="FourthParameterSetting_MouseDown" Cursor="Hand">
  426. <Image Source="/Resources/eqSet.png" Margin="10,0,5,0" Width="20" Height="20"/>
  427. <TextBlock Text="参数设置" FontSize="18" VerticalAlignment="Center" Foreground="#8D86E5" FontWeight="Regular"/>
  428. </StackPanel>
  429. <!--消息通知-->
  430. <ctr:NotificationBar Height="35" MaxWidth="250" FontSize="20" Margin="0,0,-120,0" TextPadding="8,4"
  431. CornerRadius="15"
  432. HorizontalAlignment="Right" Messages="{Binding Messages}"/>
  433. </DockPanel>
  434. <StackPanel Margin="0,20">
  435. <UniformGrid Columns="2" Rows="2" Width="400" HorizontalAlignment="Left">
  436. <StackPanel Orientation="Horizontal" Margin="0,2">
  437. <TextBlock Text="风险等级" Foreground="#7886B2"/>
  438. <TextBlock FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="20,0"
  439. Text="{Binding RiskLevel,Converter={StaticResource RiskLevelToTextConverter}}"
  440. Foreground="{Binding RiskLevel,Converter={StaticResource RiskLevelToColorConverter}}"/>
  441. </StackPanel>
  442. <StackPanel Orientation="Horizontal" Margin="0,2">
  443. <TextBlock Text="起升高度" Foreground="#7886B2"/>
  444. <TextBlock Foreground="#FFFFFF" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="40,0">
  445. <Run Text="{Binding LiftHeight,StringFormat=#0.0}"/>
  446. <Run Text="m"/>
  447. </TextBlock>
  448. </StackPanel>
  449. <StackPanel Orientation="Horizontal" Margin="0,2">
  450. <TextBlock Text="损伤数量" Foreground="#7886B2"/>
  451. <TextBlock Text="{Binding DamageCount}" Foreground="#FFFFFF" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="20,0" />
  452. <TextBlock Text="详情" Foreground="#7F74FF" FontSize="18" FontWeight="Regular"
  453. Cursor="Hand" MouseLeftButtonDown="FourthEquipmentAlarm_MouseDown"
  454. Visibility="{Binding DamageCount,Converter={StaticResource CollectionCountToVisibilityConverter}}"/>
  455. </StackPanel>
  456. <StackPanel Orientation="Horizontal" Margin="0,2">
  457. <TextBlock Text="最大损伤值" Foreground="#7886B2"/>
  458. <TextBlock Foreground="#FFFFFF" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiBold}" Margin="20,0">
  459. <Run Text="{Binding MaxDamageValue,StringFormat=#0.0}"/>
  460. <Run Text="%"/>
  461. </TextBlock>
  462. </StackPanel>
  463. </UniformGrid>
  464. <ctr:DamageRangeControl HorizontalAlignment="Stretch" Height="40" FontSize="16" Margin="0,20,30,0"
  465. MildCount="{Binding MildCount}" LightCount="{Binding LightCount}"
  466. ModerateCount="{Binding ModerateCount}" SevereCount="{Binding SevereCount}"
  467. CriticalCount="{Binding CriticalCount}" ExtremeCount="{Binding ExtremeCount}"/>
  468. </StackPanel>
  469. </StackPanel>
  470. <ctr:RopeEquipmentControl Grid.RowSpan="2" Grid.Column="1" Grid.Row="0"
  471. PanelMargin="-80,30,0,0"
  472. EquipmentTopPosition="160"
  473. PanelNameFontSize="18"
  474. PanelValueFontSize="20"
  475. RopeImageSource="/Resources/rope_block.png"
  476. EquipmentImageSource="/Resources/equipment.png"
  477. AnimationDuration="0.5" RopeHeight="435">
  478. <ctr:RopeEquipmentControl.Style>
  479. <Style TargetType="ctr:RopeEquipmentControl">
  480. <Style.Triggers>
  481. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Stoped}">
  482. <Setter Property="IsAnimationRunning" Value="False"/>
  483. </DataTrigger>
  484. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Forward}">
  485. <Setter Property="IsAnimationRunning" Value="True"/>
  486. <Setter Property="IsAnimationReversed" Value="False"/>
  487. </DataTrigger>
  488. <DataTrigger Binding="{Binding Direction}" Value="{x:Static enum:DirectionState.Reverse}">
  489. <Setter Property="IsAnimationRunning" Value="True"/>
  490. <Setter Property="IsAnimationReversed" Value="True"/>
  491. </DataTrigger>
  492. </Style.Triggers>
  493. </Style>
  494. </ctr:RopeEquipmentControl.Style>
  495. </ctr:RopeEquipmentControl>
  496. <ctr:RealTimeLineChart x:Name="fourthChartLine" Grid.Row="1"
  497. Margin="0,0,-90,-5"
  498. SensorCount="{Binding SensorCount}"
  499. SamplingStep="{Binding SamplingStep,Mode=TwoWay}"
  500. RopeLength="{Binding RopeLength}"/>
  501. <StackPanel Grid.Row="2" Orientation="Horizontal" Margin="20,-5,-100,3"
  502. Visibility="{Binding DebugMessage.Message,Converter={StaticResource StringEmptyToVisibilityConverter}}">
  503. <TextBlock Style="{StaticResource HeartbeatTextBlockStyle}" FontSize="17"
  504. VerticalAlignment="Center"
  505. Foreground="#7F74FF"/>
  506. <TextBlock Text="{Binding DebugMessage.DateTime,StringFormat=HH:mm:ss}" FontSize="16" Margin="5,0"
  507. VerticalAlignment="Center"
  508. Foreground="#7F74FF"/>
  509. <TextBlock Text="{Binding DebugMessage.Message}" FontSize="16" Margin="5,0"
  510. VerticalAlignment="Center"
  511. Foreground="#7F74FF"/>
  512. </StackPanel>
  513. </Grid>
  514. </Border>
  515. <ctr:DamageRecordControl Grid.Column="2" Grid.RowSpan="2" Margin="25,0,0,0" Records="{Binding Records}" Title="近期记录"/>
  516. </Grid>
  517. </Page>