DBInfoTrace.xaml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. <UserControl x:Class="ProximaAnalizer.Views.DBInfoTrace"
  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:ProximaAnalizer.Views"
  7. xmlns:prism="http://prismlibrary.com/"
  8. prism:ViewModelLocator.AutoWireViewModel="True"
  9. xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
  10. xmlns:ScottPlot="clr-namespace:ScottPlot.WPF;assembly=ScottPlot.WPF"
  11. mc:Ignorable="d"
  12. d:DesignHeight="450" d:DesignWidth="800">
  13. <UserControl.Resources>
  14. <ResourceDictionary Source="/UICommon;component/Resources.xaml"/>
  15. </UserControl.Resources>
  16. <Grid Margin="8">
  17. <Grid.RowDefinitions>
  18. <RowDefinition/>
  19. <RowDefinition Height="2"/>
  20. <RowDefinition Height="200"/>
  21. </Grid.RowDefinitions>
  22. <Grid>
  23. <Grid.ColumnDefinitions>
  24. <ColumnDefinition Width="auto"/>
  25. <ColumnDefinition Width="2"/>
  26. <ColumnDefinition Width="*"/>
  27. </Grid.ColumnDefinitions>
  28. <Expander ExpandDirection="Right" IsExpanded="True" Margin="0,6" Padding="0,-2" TextElement.FontSize="14">
  29. <Expander.Header>
  30. <TextBlock Text="数据编辑" HorizontalAlignment="Center" Margin="4">
  31. <TextBlock.LayoutTransform>
  32. <RotateTransform Angle="-90"/>
  33. </TextBlock.LayoutTransform>
  34. </TextBlock>
  35. </Expander.Header>
  36. <Grid>
  37. <Grid.ColumnDefinitions>
  38. <ColumnDefinition Width="auto"/>
  39. <ColumnDefinition Width="4"/>
  40. <ColumnDefinition Width="auto"/>
  41. </Grid.ColumnDefinitions>
  42. <GroupBox Header="时间范围" Margin="4,0" MinWidth="240" BorderBrush="{StaticResource DarkBorderColor}">
  43. <ScrollViewer >
  44. <ItemsControl ItemsSource="{Binding RecipeSteps}" Margin="4">
  45. <ItemsControl.ItemTemplate>
  46. <DataTemplate>
  47. <CheckBox Margin="0,1" VerticalAlignment="Center" Style="{StaticResource StepCheckBox}" IsChecked="{Binding Value.IsSelected, Mode=TwoWay}">
  48. <i:Interaction.Triggers>
  49. <i:EventTrigger EventName="Checked">
  50. <prism:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:DBInfoTrace},
  51. Path=DataContext.SelectedCommand}"
  52. CommandParameter="{Binding Value}"/>
  53. </i:EventTrigger>
  54. <i:EventTrigger EventName="Unchecked">
  55. <prism:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:DBInfoTrace},
  56. Path=DataContext.UnSelectedCommand}"
  57. CommandParameter="{Binding Value}"/>
  58. </i:EventTrigger>
  59. </i:Interaction.Triggers>
  60. <Grid HorizontalAlignment="Left" Margin="8,0,0,0" VerticalAlignment="Center">
  61. <Grid.ColumnDefinitions>
  62. <ColumnDefinition Width="auto"/>
  63. <ColumnDefinition Width="8"/>
  64. <ColumnDefinition Width="0"/>
  65. <ColumnDefinition Width="0"/>
  66. <ColumnDefinition Width="auto"/>
  67. </Grid.ColumnDefinitions>
  68. <TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" Text="{Binding Key, StringFormat=yyyy-MM-dd HH:mm:ss.f}"/>
  69. <!--<TextBlock Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding Value.Step_Number}"/>-->
  70. <TextBlock Grid.Column="4" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding Value.Step_Name}"/>
  71. </Grid>
  72. </CheckBox>
  73. </DataTemplate>
  74. </ItemsControl.ItemTemplate>
  75. <ItemsControl.ItemsPanel>
  76. <ItemsPanelTemplate>
  77. <StackPanel Orientation="Vertical"/>
  78. </ItemsPanelTemplate>
  79. </ItemsControl.ItemsPanel>
  80. </ItemsControl>
  81. </ScrollViewer>
  82. </GroupBox>
  83. <GroupBox Grid.Column="2" Margin="4,0" Header="数据选择" MinWidth="240" BorderBrush="{StaticResource DarkBorderColor}">
  84. <Grid>
  85. <Grid.RowDefinitions>
  86. <RowDefinition Height="auto"/>
  87. <RowDefinition Height="4"/>
  88. <RowDefinition Height="*"/>
  89. <RowDefinition Height="4"/>
  90. <RowDefinition Height="auto"/>
  91. </Grid.RowDefinitions>
  92. <Button Grid.Row="0" Style="{StaticResource FunctionButton}" Command="{Binding ReturnCommand}" Margin="4">返回上级</Button>
  93. <ScrollViewer Grid.Row="2">
  94. <ItemsControl ItemsSource="{Binding Hierachy}">
  95. <ItemsControl.ItemTemplate>
  96. <DataTemplate>
  97. <Button Content="{Binding Key}" VerticalContentAlignment="Center" HorizontalContentAlignment="Left"
  98. Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:DBInfoTrace}, Path=DataContext.SelectHierachyCommand}"
  99. CommandParameter="{Binding}" Margin="4" Padding="8,2" Background="Transparent"></Button>
  100. </DataTemplate>
  101. </ItemsControl.ItemTemplate>
  102. </ItemsControl>
  103. </ScrollViewer>
  104. <Grid Grid.Row="4" TextElement.FontSize="12">
  105. <Grid.ColumnDefinitions>
  106. <ColumnDefinition/>
  107. <ColumnDefinition Width="4"/>
  108. <ColumnDefinition/>
  109. </Grid.ColumnDefinitions>
  110. <Button Grid.Column="0" Height="24" Style="{StaticResource FunctionButton}" Command="{Binding SaveLoadCommand}" CommandParameter="Save">保存预设</Button>
  111. <Button Grid.Column="2" Height="24" Style="{StaticResource FunctionButton}" Command="{Binding SaveLoadCommand}" CommandParameter="Load">读取预设</Button>
  112. </Grid>
  113. </Grid>
  114. </GroupBox>
  115. </Grid>
  116. </Expander>
  117. <GroupBox Grid.Column="2" Header="数据图表" Margin="6" BorderBrush="{StaticResource DarkBorderColor}">
  118. <Grid >
  119. <Grid.RowDefinitions>
  120. <RowDefinition/>
  121. <RowDefinition Height="8"/>
  122. <RowDefinition Height="auto"/>
  123. <RowDefinition Height="0"/>
  124. </Grid.RowDefinitions>
  125. <ContentControl Content="{Binding PlotControl, Mode=OneTime}" />
  126. <WrapPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center" >
  127. <StackPanel Orientation="Horizontal" Margin="12,0">
  128. <Button Width="120" Height="24" Style="{StaticResource FunctionButton}" Command="{Binding GeneratePlotCommand}">绘制图标</Button>
  129. <Button Width="120" Height="24" Margin="4" Style="{StaticResource FunctionButton}" Command="{Binding ViewTraceDataCommand}">查看数据</Button>
  130. </StackPanel>
  131. <StackPanel Orientation="Horizontal" Margin="12,0">
  132. <Button Width="120" Height="24" Style="{StaticResource FunctionButton}" Command="{Binding ReScaleCommand}" CommandParameter="+">横坐标 放大</Button>
  133. <Button Width="120" Height="24" Margin="4" Style="{StaticResource FunctionButton}" Command="{Binding ReScaleCommand}" CommandParameter="-">横坐标 缩小</Button>
  134. </StackPanel>
  135. <StackPanel Orientation="Horizontal" Margin="12,0">
  136. <Button Width="120" Height="24" Style="{StaticResource FunctionButton}" Command="{Binding ReScaleCommand}" CommandParameter="add">纵坐标 放大</Button>
  137. <Button Width="120" Height="24" Margin="4" Style="{StaticResource FunctionButton}" Command="{Binding ReScaleCommand}" CommandParameter="minus">纵坐标 缩小</Button>
  138. </StackPanel>
  139. <StackPanel Orientation="Horizontal" Margin="12,0">
  140. <Button Width="120" Height="24" Style="{StaticResource FunctionButton}" Command="{Binding ReScaleCommand}" CommandParameter="">重置缩放</Button>
  141. <Button Width="120" Height="24" Margin="4" Style="{StaticResource FunctionButton}" Command="{Binding ReturnPageCommand}" Background="{StaticResource WarningColor}">返回主页</Button>
  142. </StackPanel>
  143. </WrapPanel>
  144. </Grid>
  145. </GroupBox>
  146. </Grid>
  147. <Grid Grid.Row="2" Grid.Column="2" Grid.ColumnSpan="3" Margin="2,0,6,2">
  148. <Grid.ColumnDefinitions>
  149. <ColumnDefinition />
  150. <ColumnDefinition Width="16"/>
  151. <ColumnDefinition/>
  152. <ColumnDefinition Width="16"/>
  153. <ColumnDefinition/>
  154. </Grid.ColumnDefinitions>
  155. <Grid Grid.Column="0" >
  156. <Grid.RowDefinitions>
  157. <RowDefinition Height="24"/>
  158. <RowDefinition Height="4"/>
  159. <RowDefinition/>
  160. </Grid.RowDefinitions>
  161. <TextBlock VerticalAlignment="Center">报警信息</TextBlock>
  162. <Grid Grid.Row="0" HorizontalAlignment="Right">
  163. <Grid.ColumnDefinitions>
  164. <ColumnDefinition Width="auto"/>
  165. <ColumnDefinition Width="12"/>
  166. <ColumnDefinition Width="auto"/>
  167. <ColumnDefinition Width="12"/>
  168. <ColumnDefinition Width="auto"/>
  169. </Grid.ColumnDefinitions>
  170. <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
  171. <TextBox Width="40" HorizontalContentAlignment="Center" Margin="4,0" Text="{Binding AlarmInverval}"/>
  172. <TextBlock VerticalAlignment="Center">秒内重复不显示</TextBlock>
  173. </StackPanel>
  174. <CheckBox Grid.Column="2" IsChecked="{Binding DisplayAlarm, Mode=TwoWay}" VerticalAlignment="Center">显示Alarm</CheckBox>
  175. <CheckBox Grid.Column="4" IsChecked="{Binding DisplayWarning, Mode=TwoWay}" VerticalAlignment="Center">显示Warning</CheckBox>
  176. </Grid>
  177. <Border Grid.Row="2" BorderBrush="{StaticResource DarkBorderColor}" BorderThickness="1">
  178. <ScrollViewer HorizontalScrollBarVisibility="Auto">
  179. <ItemsControl ItemsSource="{Binding Alarms}" Margin="2">
  180. <ItemsControl.ItemTemplate>
  181. <DataTemplate>
  182. <Grid Margin="2">
  183. <Grid.ColumnDefinitions>
  184. <ColumnDefinition Width="auto"/>
  185. <ColumnDefinition Width="8"/>
  186. <!--<ColumnDefinition Width="48"/>-->
  187. <!--<ColumnDefinition Width="8"/>-->
  188. <ColumnDefinition Width="48"/>
  189. <ColumnDefinition Width="8"/>
  190. <ColumnDefinition Width="*"/>
  191. </Grid.ColumnDefinitions>
  192. <TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" Text="{Binding Occur_Time, StringFormat=HH:mm:ss.f}"/>
  193. <!--<TextBlock Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding Source}" ToolTip="{Binding Source}"/>-->
  194. <!--<TextBlock Grid.Column="4" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding Level}" ToolTip="{Binding Level}"/>-->
  195. <Button Grid.Column="2" Background="Transparent" BorderBrush="{StaticResource ThemeColor}" Foreground="{StaticResource ThemeColor}"
  196. Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:DBInfoTrace}, Path=DataContext.AlarmDetailCommand}" CommandParameter="{Binding}">Details</Button>
  197. <TextBlock Grid.Column="4" VerticalAlignment="Center" HorizontalAlignment="Left" Text="{Binding Description}" ToolTip="{Binding Description}"/>
  198. </Grid>
  199. </DataTemplate>
  200. </ItemsControl.ItemTemplate>
  201. </ItemsControl>
  202. </ScrollViewer>
  203. </Border>
  204. </Grid>
  205. <Grid Grid.Column="2">
  206. <Grid.RowDefinitions>
  207. <RowDefinition Height="24"/>
  208. <RowDefinition Height="4"/>
  209. <RowDefinition/>
  210. </Grid.RowDefinitions>
  211. <TextBlock VerticalAlignment="Center">左侧坐标轴</TextBlock>
  212. <Button HorizontalAlignment="Right" Width="80" Style="{StaticResource FunctionButton}" Command="{Binding ClearCommand}" CommandParameter="L">清除</Button>
  213. <Border Grid.Row="2" BorderBrush="{StaticResource DarkBorderColor}" BorderThickness="1">
  214. <ScrollViewer HorizontalScrollBarVisibility="Auto">
  215. <ItemsControl ItemsSource="{Binding Left}">
  216. <ItemsControl.ItemTemplate>
  217. <DataTemplate>
  218. <Grid Margin="4,2">
  219. <Grid.ColumnDefinitions>
  220. <ColumnDefinition Width="*"/>
  221. <ColumnDefinition Width="24"/>
  222. <ColumnDefinition Width="180"/>
  223. <ColumnDefinition Width="24"/>
  224. <ColumnDefinition Width="64"/>
  225. </Grid.ColumnDefinitions>
  226. <TextBlock Text="{Binding Key}" VerticalAlignment="Center"/>
  227. <Button Grid.Column="2" Background="Transparent" HorizontalContentAlignment="Left" BorderThickness="0"
  228. Command="{Binding RelativeSource={RelativeSource AncestorType=local:DBInfoTrace, Mode=FindAncestor}, Path=DataContext.EditLineCommand}"
  229. CommandParameter="{Binding}">
  230. <Line X1="0" Y1="0" X2="100" Y2="0" Stretch="Fill" Stroke="{Binding Value.Brush}" StrokeDashArray="{Binding Value.DashArray}" StrokeThickness="3"/>
  231. </Button>
  232. <Button Grid.Column="4" Style="{StaticResource FunctionButton}"
  233. Command="{Binding RelativeSource={RelativeSource AncestorType=local:DBInfoTrace, Mode=FindAncestor},
  234. Path=DataContext.RemoveLeftCommand}"
  235. CommandParameter="{Binding Key}">移除</Button>
  236. </Grid>
  237. </DataTemplate>
  238. </ItemsControl.ItemTemplate>
  239. </ItemsControl>
  240. </ScrollViewer>
  241. </Border>
  242. </Grid>
  243. <Grid Grid.Column="4" >
  244. <Grid.RowDefinitions>
  245. <RowDefinition Height="24"/>
  246. <RowDefinition Height="4"/>
  247. <RowDefinition/>
  248. </Grid.RowDefinitions>
  249. <TextBlock VerticalAlignment="Center">右侧坐标轴</TextBlock>
  250. <Button HorizontalAlignment="Right" Width="80" Style="{StaticResource FunctionButton}" Command="{Binding ClearCommand}" CommandParameter="R">清除</Button>
  251. <Border Grid.Row="2" BorderBrush="{StaticResource DarkBorderColor}" BorderThickness="1">
  252. <ScrollViewer HorizontalScrollBarVisibility="Auto">
  253. <ItemsControl ItemsSource="{Binding Right}">
  254. <ItemsControl.ItemTemplate>
  255. <DataTemplate>
  256. <Grid Margin="4,2">
  257. <Grid.ColumnDefinitions>
  258. <ColumnDefinition Width="*"/>
  259. <ColumnDefinition Width="24"/>
  260. <ColumnDefinition Width="180"/>
  261. <ColumnDefinition Width="24"/>
  262. <ColumnDefinition Width="64"/>
  263. </Grid.ColumnDefinitions>
  264. <TextBlock Text="{Binding Key}" VerticalAlignment="Center"/>
  265. <Button Grid.Column="2" Background="Transparent" HorizontalContentAlignment="Left" BorderThickness="0"
  266. Command="{Binding RelativeSource={RelativeSource AncestorType=local:DBInfoTrace, Mode=FindAncestor}, Path=DataContext.EditLineCommand}"
  267. CommandParameter="{Binding}">
  268. <Line X1="0" Y1="0" X2="100" Y2="0" Stretch="Fill" Stroke="{Binding Value.Brush}" StrokeDashArray="{Binding Value.DashArray}" StrokeThickness="3"/>
  269. </Button>
  270. <Button Grid.Column="4" Style="{StaticResource FunctionButton}"
  271. Command="{Binding RelativeSource={RelativeSource AncestorType=local:DBInfoTrace, Mode=FindAncestor},
  272. Path=DataContext.RemoveRightCommand}"
  273. CommandParameter="{Binding Key}">移除</Button>
  274. </Grid>
  275. </DataTemplate>
  276. </ItemsControl.ItemTemplate>
  277. </ItemsControl>
  278. </ScrollViewer>
  279. </Border>
  280. </Grid>
  281. </Grid>
  282. </Grid>
  283. </UserControl>