RealTimeView.xaml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. <UserControl x:Class="MECF.Framework.UI.Client.CenterViews.Operations.RealTime.RealtimeView"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:controls="clr-namespace:OpenSEMI.Ctrlib.Controls"
  5. xmlns:converter="clr-namespace:MECF.Framework.UI.Client.Ctrlib.Converter"
  6. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  7. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  8. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  9. xmlns:micro="clr-namespace:Caliburn.Micro"
  10. xmlns:s="http://schemas.abtsoftware.co.uk/scichart"
  11. xmlns:userControls="clr-namespace:MECF.Framework.UI.Client.ClientBase.UserControls"
  12. d:DesignHeight="450"
  13. d:DesignWidth="1800"
  14. mc:Ignorable="d">
  15. <UserControl.Resources>
  16. <converter:BoolReverseConverter x:Key="boolReverseConverter" />
  17. <converter:BoolVisibilityConverter x:Key="boolVisibilityConverter" />
  18. </UserControl.Resources>
  19. <Grid IsEnabled="{Binding IsPermission}">
  20. <Grid.ColumnDefinitions>
  21. <ColumnDefinition Width="375" />
  22. <ColumnDefinition Width="Auto" />
  23. <ColumnDefinition />
  24. </Grid.ColumnDefinitions>
  25. <Grid.RowDefinitions>
  26. <RowDefinition />
  27. <RowDefinition Height="200" />
  28. </Grid.RowDefinitions>
  29. <Grid Grid.RowSpan="2" Grid.Column="0">
  30. <Border
  31. Padding="5"
  32. Background="{DynamicResource Tab_BG}"
  33. BorderBrush="{DynamicResource Tab_BD}"
  34. BorderThickness="1"
  35. SnapsToDevicePixels="True">
  36. <Grid>
  37. <userControls:ParameterNodeTreeViewControl
  38. x:Name="tvParameterNodes"
  39. IsEnabled="{Binding IsBusy, Converter={StaticResource boolReverseConverter}}"
  40. TreeRoot="{Binding ParameterNodes}"
  41. PresetGroupsFolderName="RealTimeView"/>
  42. </Grid>
  43. </Border>
  44. </Grid>
  45. <GridSplitter
  46. Grid.Row="0"
  47. Grid.RowSpan="2"
  48. Grid.Column="1"
  49. Width="10"
  50. HorizontalAlignment="Left"
  51. VerticalAlignment="Stretch"
  52. Background="Transparent"
  53. Style="{DynamicResource VerticalGridSplitterStyle}" />
  54. <!-- data chart -->
  55. <Grid
  56. Grid.Row="0"
  57. Grid.Column="2"
  58. Margin="0,0,0,0">
  59. <s:SciChartSurface
  60. Name="sciChart"
  61. Padding="2"
  62. s:ThemeManager.Theme="ExpressionLight"
  63. BorderBrush="Gray"
  64. DebugWhyDoesntSciChartRender="False"
  65. Focusable="False"
  66. IsTabStop="False"
  67. RenderableSeries="{Binding SelectedData}">
  68. <!-- Create an X Axis -->
  69. <s:SciChartSurface.XAxis>
  70. <s:DateTimeAxis
  71. Margin="0,0,0,0"
  72. AutoRange="{Binding ChartAutoRange}"
  73. DrawMinorGridLines="False"
  74. DrawMinorTicks="False"
  75. FontSize="20"
  76. Id="DefaultAxisId"
  77. SubDayTextFormatting="HH:mm:ss"
  78. TextFormatting="HH:mm:ss"
  79. TitleFontSize="15"
  80. TitleFontWeight="Normal" />
  81. </s:SciChartSurface.XAxis>
  82. <!-- Create a Y Axis -->
  83. <s:SciChartSurface.YAxis>
  84. <s:NumericAxis
  85. HorizontalAlignment="Center"
  86. AutoRange="{Binding ChartAutoRange}"
  87. AxisAlignment="Right"
  88. BorderThickness="0"
  89. CursorTextFormatting="0.######"
  90. DrawLabels="True"
  91. DrawMajorBands="False"
  92. DrawMajorGridLines="True"
  93. DrawMajorTicks="False"
  94. DrawMinorGridLines="False"
  95. DrawMinorTicks="False"
  96. Focusable="False"
  97. Id="DefaultAxisId"
  98. MajorDelta="0.001"
  99. MinorDelta="0.001">
  100. <s:NumericAxis.GrowBy>
  101. <s:DoubleRange Max="0.001" Min="0.001" />
  102. </s:NumericAxis.GrowBy>
  103. </s:NumericAxis>
  104. </s:SciChartSurface.YAxis>
  105. <s:SciChartSurface.ChartModifier>
  106. <s:ModifierGroup>
  107. <s:RubberBandXyZoomModifier
  108. x:Name="rubberBandZoomModifier"
  109. ExecuteOn="MouseLeftButton"
  110. IsAnimated="True"
  111. IsEnabled="True"
  112. IsXAxisOnly="False"
  113. ReceiveHandledEvents="True"
  114. ZoomExtentsY="True" />
  115. <s:CursorModifier
  116. IsEnabled="True"
  117. ShowAxisLabels="True"
  118. ShowTooltip="False"
  119. ShowTooltipOn="Never"
  120. SourceMode="AllSeries" />
  121. <s:LegendModifier
  122. x:Name="legendModifier"
  123. GetLegendDataFor="AllSeries"
  124. ShowLegend="False" />
  125. <s:ZoomExtentsModifier
  126. x:Name="zoomExtentsModifier"
  127. ExecuteOn="MouseDoubleClick"
  128. XyDirection="XYDirection" />
  129. <s:ZoomPanModifier
  130. x:Name="zoomPanModifier"
  131. ClipModeX="None"
  132. ExecuteOn="MouseRightButton"
  133. IsEnabled="True"
  134. XyDirection="XYDirection"
  135. ZoomExtentsY="False" />
  136. <s:RolloverModifier
  137. x:Name="rolloverModifier"
  138. DrawVerticalLine="False"
  139. FontFamily="Arial,SimSun"
  140. FontSize="9"
  141. IsEnabled="True"
  142. ShowAxisLabels="False"
  143. SnapsToDevicePixels="False"
  144. UseInterpolation="False" />
  145. <s:MouseWheelZoomModifier x:Name="mouseWheelZoomModifier" XyDirection="XYDirection" />
  146. <s:SeriesValueModifier />
  147. </s:ModifierGroup>
  148. </s:SciChartSurface.ChartModifier>
  149. </s:SciChartSurface>
  150. <CheckBox
  151. Margin="0,10,1208,0"
  152. HorizontalAlignment="Right"
  153. VerticalAlignment="Top"
  154. Content="Auto Zoom"
  155. IsChecked="{Binding EnableAutoZoom, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  156. </Grid>
  157. <StackPanel
  158. Grid.Row="1"
  159. Grid.Column="2"
  160. Orientation="Horizontal" Margin="0,5,0,0">
  161. <userControls:DataViewDataGrid
  162. x:Name="dataGrid"
  163. Width="1000"
  164. IsShowStatisticColumn="False"
  165. IsEnabled="{Binding IsBusy, Converter={StaticResource boolReverseConverter}}"
  166. ItemsSource="{Binding Path=SelectedData}">
  167. <i:Interaction.Triggers>
  168. <i:EventTrigger EventName="Deleted">
  169. <micro:ActionMessage MethodName="Deleted">
  170. <micro:Parameter Value="$source" />
  171. <micro:Parameter Value="$eventargs" />
  172. </micro:ActionMessage>
  173. </i:EventTrigger>
  174. <i:EventTrigger EventName="Exporting">
  175. <micro:ActionMessage MethodName="Exporting">
  176. <micro:Parameter Value="$source" />
  177. <micro:Parameter Value="$eventargs" />
  178. </micro:ActionMessage>
  179. </i:EventTrigger>
  180. <i:EventTrigger EventName="Exported">
  181. <micro:ActionMessage MethodName="Exported">
  182. <micro:Parameter Value="$source" />
  183. <micro:Parameter Value="$eventargs" />
  184. </micro:ActionMessage>
  185. </i:EventTrigger>
  186. <i:EventTrigger EventName="ProgressMessageUpdating">
  187. <micro:ActionMessage MethodName="ProgressUpdating">
  188. <micro:Parameter Value="$source" />
  189. <micro:Parameter Value="$eventargs" />
  190. </micro:ActionMessage>
  191. </i:EventTrigger>
  192. </i:Interaction.Triggers>
  193. </userControls:DataViewDataGrid>
  194. <Grid Margin="15,10,0,0">
  195. <Grid.RowDefinitions>
  196. <RowDefinition Height="26" />
  197. <RowDefinition Height="35" />
  198. <RowDefinition Height="35" />
  199. </Grid.RowDefinitions>
  200. <Grid.ColumnDefinitions>
  201. <ColumnDefinition Width="100" />
  202. <ColumnDefinition Width="49" />
  203. <ColumnDefinition Width="61" />
  204. <ColumnDefinition Width="120" />
  205. </Grid.ColumnDefinitions>
  206. <Label
  207. Grid.Row="0"
  208. Grid.ColumnSpan="4"
  209. HorizontalContentAlignment="Center"
  210. VerticalContentAlignment="Center"
  211. Content="Trend Chart Setting"
  212. Style="{DynamicResource Table_TitleStyle}" />
  213. <Border
  214. Grid.Row="1"
  215. Padding="5,1"
  216. Background="{DynamicResource Table_BG_Title}"
  217. BorderBrush="{DynamicResource Table_BD}"
  218. BorderThickness="1,0,1,1">
  219. <TextBlock
  220. VerticalAlignment="Center"
  221. FontFamily="Arial"
  222. FontSize="12"
  223. Foreground="{DynamicResource FG_Black}"
  224. Text="Interval (ms)"
  225. TextWrapping="Wrap" />
  226. </Border>
  227. <Border
  228. Grid.Row="1"
  229. Grid.Column="1"
  230. Grid.ColumnSpan="2"
  231. Padding="5,1"
  232. Background="{Binding AlignerStatusBackground}"
  233. BorderBrush="{DynamicResource Table_BD}"
  234. BorderThickness="0,0,1,1">
  235. <controls:TextBoxEx
  236. Width="100"
  237. Height="25"
  238. EditBoxMode="UnSignInteger"
  239. MaxValue="60000"
  240. MinValue="100"
  241. Text="{Binding TrendInterval, Mode=TwoWay}"
  242. TextSaved="{Binding IntervalSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  243. Validation.ErrorTemplate="{x:Null}" />
  244. </Border>
  245. <Border
  246. Grid.Row="1"
  247. Grid.Column="3"
  248. Padding="5,1"
  249. Background="{DynamicResource Table_BG_Content}"
  250. BorderBrush="{DynamicResource Table_BD}"
  251. BorderThickness="0,0,1,1">
  252. <Button
  253. Width="70"
  254. Height="25"
  255. Margin="5,0,0,0"
  256. Content="Set">
  257. <i:Interaction.Triggers>
  258. <i:EventTrigger EventName="Click">
  259. <micro:ActionMessage MethodName="SetInterval" />
  260. </i:EventTrigger>
  261. </i:Interaction.Triggers>
  262. </Button>
  263. </Border>
  264. <Border
  265. Grid.Row="2"
  266. Padding="5,1"
  267. Background="{DynamicResource Table_BG_Title}"
  268. BorderBrush="{DynamicResource Table_BD}"
  269. BorderThickness="1,0,1,1">
  270. <TextBlock
  271. VerticalAlignment="Center"
  272. FontFamily="Arial"
  273. FontSize="12"
  274. Foreground="{DynamicResource FG_Black}"
  275. Text="Time Span (s)"
  276. TextWrapping="Wrap" />
  277. </Border>
  278. <Border
  279. Grid.Row="2"
  280. Grid.Column="1"
  281. Grid.ColumnSpan="2"
  282. Padding="5,1"
  283. Background="{Binding AlignerStatusBackground}"
  284. BorderBrush="{DynamicResource Table_BD}"
  285. BorderThickness="0,0,1,1">
  286. <controls:TextBoxEx
  287. Width="100"
  288. Height="25"
  289. EditBoxMode="UnSignInteger"
  290. MaxValue="3600"
  291. MinValue="1"
  292. Text="{Binding TrendTimeSpan, Mode=TwoWay}"
  293. TextSaved="{Binding TimeSpanSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  294. Validation.ErrorTemplate="{x:Null}" />
  295. </Border>
  296. <Border
  297. Grid.Row="2"
  298. Grid.Column="3"
  299. Padding="5,1"
  300. Background="{DynamicResource Table_BG_Content}"
  301. BorderBrush="{DynamicResource Table_BD}"
  302. BorderThickness="0,0,1,1">
  303. <Button
  304. Width="70"
  305. Height="25"
  306. Margin="5,0,0,0"
  307. Content="Set">
  308. <i:Interaction.Triggers>
  309. <i:EventTrigger EventName="Click">
  310. <micro:ActionMessage MethodName="SetTimeSpan" />
  311. </i:EventTrigger>
  312. </i:Interaction.Triggers>
  313. </Button>
  314. </Border>
  315. </Grid>
  316. </StackPanel>
  317. <userControls:BusyIndicator
  318. Grid.Row="1" Grid.Column="2"
  319. Width="Auto"
  320. Height="Auto"
  321. HorizontalAlignment="Left"
  322. VerticalAlignment="Center"
  323. BorderBrush="Gray"
  324. BorderThickness="3"
  325. Padding="20 10"
  326. Background="{StaticResource Tab_BG}"
  327. Visibility="{Binding IsBusy, Converter={StaticResource boolVisibilityConverter}}"
  328. Message="{Binding BusyIndicatorContent}" Margin="350,0,0,0">
  329. <i:Interaction.Triggers>
  330. <i:EventTrigger EventName="Canceled">
  331. <micro:ActionMessage MethodName="Cancel" />
  332. </i:EventTrigger>
  333. </i:Interaction.Triggers>
  334. </userControls:BusyIndicator>
  335. </Grid>
  336. </UserControl>