DeviceInfoPlot.xaml 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <UserControl x:Class="DashBoard.Controls.DeviceInfoPlot"
  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:DashBoard.Controls"
  7. mc:Ignorable="d"
  8. x:Name="This"
  9. d:DesignHeight="450" d:DesignWidth="800">
  10. <UserControl.Resources>
  11. <ResourceDictionary>
  12. <ResourceDictionary.MergedDictionaries>
  13. <ResourceDictionary Source="/UICommon;component/Resources.xaml"/>
  14. </ResourceDictionary.MergedDictionaries>
  15. <local:NumberBrushConverter x:Key="BurshConvert"/>
  16. <local:NumberEnableConverter x:Key="EnableConvert"/>
  17. </ResourceDictionary>
  18. </UserControl.Resources>
  19. <Grid>
  20. <Border BorderBrush="{StaticResource DarkBorderColor}" Background="#f2f2f2" BorderThickness="1" Width="380" MinHeight="200" Margin="8" CornerRadius="8">
  21. <Grid Margin="12,8">
  22. <Grid.RowDefinitions>
  23. <RowDefinition Height="auto"/>
  24. <RowDefinition Height="8"/>
  25. <RowDefinition Height="auto"/>
  26. <RowDefinition Height="*"/>
  27. <RowDefinition Height="auto"/>
  28. </Grid.RowDefinitions>
  29. <Grid>
  30. <Grid.ColumnDefinitions>
  31. <ColumnDefinition Width="auto"/>
  32. <ColumnDefinition Width="16"/>
  33. <ColumnDefinition/>
  34. <ColumnDefinition Width="16"/>
  35. <ColumnDefinition Width="auto"/>
  36. </Grid.ColumnDefinitions>
  37. <TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" Text="{Binding ElementName=This, Path=DeviceInfo.DeviceName}" FontSize="14" FontWeight="Bold"/>
  38. <Border Grid.ColumnSpan="5" VerticalAlignment="Center" HorizontalAlignment="Center" MinWidth="100" Background="{StaticResource ThemeColor}" CornerRadius="12">
  39. <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding ElementName=This, Path=DeviceData.DeviceStatus}" Foreground="White" Margin="8,4"/>
  40. </Border>
  41. <Button Grid.Column="4" HorizontalAlignment="Right" VerticalAlignment="Center" BorderThickness="0" Background="Transparent"
  42. IsEnabled="{Binding ElementName=This, Path=DeviceData.AlarmCount, Converter={StaticResource EnableConvert}}"
  43. Command="{Binding ElementName=This, Path=AlarmCommand}" CommandParameter="{Binding ElementName=This, Path=DeviceData}">
  44. <Border Grid.Column="4" Background="{Binding ElementName=This, Path=DeviceData.AlarmCount, Converter={StaticResource BurshConvert}}" CornerRadius="8" >
  45. <StackPanel Orientation="Horizontal" Margin="8,4">
  46. <Image Source="{StaticResource Icon_Bell}" VerticalAlignment="Center" Height="16"/>
  47. <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding ElementName=This, Path=DeviceData.AlarmCount}" Foreground="White" Margin="4,0"/>
  48. </StackPanel>
  49. </Border>
  50. </Button>
  51. </Grid>
  52. <Grid Grid.Row="2">
  53. <Grid.ColumnDefinitions>
  54. <ColumnDefinition Width="auto"/>
  55. <ColumnDefinition Width="*"/>
  56. <ColumnDefinition Width="auto"/>
  57. </Grid.ColumnDefinitions>
  58. <ItemsControl ItemsSource="{Binding ElementName=This, Path=DeviceData.OtherInfo}">
  59. <ItemsControl.ItemTemplate>
  60. <DataTemplate>
  61. <Grid>
  62. <Grid.ColumnDefinitions>
  63. <ColumnDefinition Width="72"/>
  64. <ColumnDefinition Width="16"/>
  65. <ColumnDefinition />
  66. </Grid.ColumnDefinitions>
  67. <TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding Key}"></TextBlock>
  68. <TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Center">:</TextBlock>
  69. <TextBlock Grid.Row="0" Grid.Column="2" Text="{Binding Value}" TextWrapping="Wrap"/>
  70. </Grid>
  71. </DataTemplate>
  72. </ItemsControl.ItemTemplate>
  73. </ItemsControl>
  74. <ItemsControl Grid.Column="2" ItemsSource="{Binding ElementName=This, Path=DeviceData.RecipeInfo.RecipeInfo}">
  75. <ItemsControl.ItemTemplate>
  76. <DataTemplate>
  77. <Grid>
  78. <Grid.ColumnDefinitions>
  79. <ColumnDefinition Width="72"/>
  80. <ColumnDefinition Width="16"/>
  81. <ColumnDefinition />
  82. </Grid.ColumnDefinitions>
  83. <TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding Key}"></TextBlock>
  84. <TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Center">:</TextBlock>
  85. <TextBlock Grid.Row="0" Grid.Column="2" Text="{Binding Value}" TextWrapping="Wrap"/>
  86. </Grid>
  87. </DataTemplate>
  88. </ItemsControl.ItemTemplate>
  89. </ItemsControl>
  90. </Grid>
  91. <Grid Grid.Row="4">
  92. <Grid.RowDefinitions>
  93. <RowDefinition Height="auto"/>
  94. <RowDefinition Height="6"/>
  95. <RowDefinition Height="auto"/>
  96. <RowDefinition Height="12"/>
  97. <RowDefinition Height="auto"/>
  98. <RowDefinition Height="6"/>
  99. <RowDefinition Height="auto"/>
  100. </Grid.RowDefinitions>
  101. <Grid>
  102. <Grid.ColumnDefinitions>
  103. <ColumnDefinition Width="auto"/>
  104. <ColumnDefinition/>
  105. <ColumnDefinition Width="auto"/>
  106. </Grid.ColumnDefinitions>
  107. <TextBlock Text="{Binding ElementName=This, Path=DeviceData.RecipeInfo.CurrentStepName}"></TextBlock>
  108. <TextBlock Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center">>> Next Step >></TextBlock>
  109. <TextBlock Grid.Column="2" Text="{Binding ElementName=This, Path=DeviceData.RecipeInfo.NextStepName}"></TextBlock>
  110. </Grid>
  111. <Grid Grid.Row="2">
  112. <ProgressBar Height="16" Style="{StaticResource ThemeProgressBar}"
  113. Value="{Binding ElementName=This, Path=DeviceData.RecipeInfo.CurrentStepRemainTime}"
  114. Maximum="{Binding ElementName=This, Path=DeviceData.RecipeInfo.CurrentStepTotalTime}"/>
  115. <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center">
  116. <Run Text="{Binding ElementName=This, Path=DeviceData.RecipeInfo.CurrentStepRemainTime}"></Run>
  117. <Run> / </Run>
  118. <Run Text="{Binding ElementName=This, Path=DeviceData.RecipeInfo.CurrentStepTotalTime}"></Run>
  119. <Run> (seconds) </Run>
  120. </TextBlock>
  121. </Grid>
  122. <TextBlock Grid.Row="4">Total Recipe Time</TextBlock>
  123. <Grid Grid.Row="6">
  124. <ProgressBar Height="16" Style="{StaticResource ThemeProgressBar}"
  125. Value="{Binding ElementName=This, Path=DeviceData.RecipeInfo.TotalRemainTime}"
  126. Maximum="{Binding ElementName=This, Path=DeviceData.RecipeInfo.TotalTime}"/>
  127. <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center">
  128. <Run Text="{Binding ElementName=This, Path=DeviceData.RecipeInfo.TotalRemainTime}"></Run>
  129. <Run> / </Run>
  130. <Run Text="{Binding ElementName=This, Path=DeviceData.RecipeInfo.TotalTime}"></Run>
  131. <Run> (seconds) </Run>
  132. </TextBlock>
  133. </Grid>
  134. </Grid>
  135. </Grid>
  136. </Border>
  137. </Grid>
  138. </UserControl>