DBInfoTrace.xaml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  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. <!--<TextBlock Text="{Binding Key}"></TextBlock>-->
  101. </DataTemplate>
  102. </ItemsControl.ItemTemplate>
  103. </ItemsControl>
  104. </ScrollViewer>
  105. <!--<Grid Grid.Row="4">
  106. <Grid.ColumnDefinitions>
  107. <ColumnDefinition/>
  108. <ColumnDefinition Width="2"/>
  109. <ColumnDefinition/>
  110. </Grid.ColumnDefinitions>
  111. <CheckBox Grid.Column="0" Style="{StaticResource FunctionCheckBox}" IsChecked="{Binding DisplayAlarm, Mode=TwoWay}" VerticalAlignment="Center">显示Alarm</CheckBox>
  112. <CheckBox Grid.Column="2" Style="{StaticResource FunctionCheckBox}" IsChecked="{Binding DisplayWarning, Mode=TwoWay}" VerticalAlignment="Center">显示Warning</CheckBox>
  113. </Grid>-->
  114. </Grid>
  115. </GroupBox>
  116. </Grid>
  117. </Expander>
  118. <GroupBox Grid.Column="2" Header="数据图表" Margin="6" BorderBrush="{StaticResource DarkBorderColor}">
  119. <Grid >
  120. <Grid.RowDefinitions>
  121. <RowDefinition/>
  122. <RowDefinition Height="8"/>
  123. <RowDefinition Height="auto"/>
  124. <RowDefinition Height="0"/>
  125. </Grid.RowDefinitions>
  126. <ContentControl Content="{Binding PlotControl, Mode=OneTime}" />
  127. <WrapPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center" >
  128. <StackPanel Orientation="Horizontal" Margin="12,0">
  129. <Button Width="120" Height="24" Style="{StaticResource FunctionButton}" Command="{Binding GeneratePlotCommand}">绘制图标</Button>
  130. <Button Width="120" Height="24" Margin="4" Style="{StaticResource FunctionButton}" Command="{Binding ViewTraceDataCommand}">查看数据</Button>
  131. </StackPanel>
  132. <StackPanel Orientation="Horizontal" Margin="12,0">
  133. <Button Width="120" Height="24" Style="{StaticResource FunctionButton}" Command="{Binding ReScaleCommand}" CommandParameter="+">横坐标 放大</Button>
  134. <Button Width="120" Height="24" Margin="4" Style="{StaticResource FunctionButton}" Command="{Binding ReScaleCommand}" CommandParameter="-">横坐标 缩小</Button>
  135. </StackPanel>
  136. <StackPanel Orientation="Horizontal" Margin="12,0">
  137. <Button Width="120" Height="24" Style="{StaticResource FunctionButton}" Command="{Binding ReScaleCommand}" CommandParameter="add">纵坐标 放大</Button>
  138. <Button Width="120" Height="24" Margin="4" Style="{StaticResource FunctionButton}" Command="{Binding ReScaleCommand}" CommandParameter="minus">纵坐标 缩小</Button>
  139. </StackPanel>
  140. <StackPanel Orientation="Horizontal" Margin="12,0">
  141. <Button Width="120" Height="24" Style="{StaticResource FunctionButton}" Command="{Binding ReScaleCommand}" CommandParameter="">重置缩放</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="180"/>
  191. <ColumnDefinition Width="32"/>
  192. <ColumnDefinition Width="auto"/>
  193. </Grid.ColumnDefinitions>
  194. <TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" Text="{Binding Occur_Time, StringFormat=HH:mm:ss.fff}"/>
  195. <TextBlock Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding Source}" ToolTip="{Binding Source}"/>
  196. <TextBlock Grid.Column="4" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding Level}" ToolTip="{Binding Level}"/>
  197. <TextBlock Grid.Column="6" VerticalAlignment="Center" HorizontalAlignment="Left" Text="{Binding Event_Enum}" ToolTip="{Binding Event_Enum}"/>
  198. <TextBlock Grid.Column="8" VerticalAlignment="Center" HorizontalAlignment="Left" Text="{Binding Description}" ToolTip="{Binding Description}"/>
  199. </Grid>
  200. </DataTemplate>
  201. </ItemsControl.ItemTemplate>
  202. </ItemsControl>
  203. </ScrollViewer>
  204. </Border>
  205. </Grid>
  206. <Grid Grid.Column="2">
  207. <Grid.RowDefinitions>
  208. <RowDefinition Height="24"/>
  209. <RowDefinition Height="4"/>
  210. <RowDefinition/>
  211. </Grid.RowDefinitions>
  212. <TextBlock VerticalAlignment="Center">左侧坐标轴</TextBlock>
  213. <Button HorizontalAlignment="Right" Width="80" Style="{StaticResource FunctionButton}" Command="{Binding ClearCommand}" CommandParameter="L">清除</Button>
  214. <Border Grid.Row="2" BorderBrush="{StaticResource DarkBorderColor}" BorderThickness="1">
  215. <ScrollViewer HorizontalScrollBarVisibility="Auto">
  216. <ItemsControl ItemsSource="{Binding Left}">
  217. <ItemsControl.ItemTemplate>
  218. <DataTemplate>
  219. <Grid Margin="4,2">
  220. <Grid.ColumnDefinitions>
  221. <ColumnDefinition Width="*"/>
  222. <ColumnDefinition Width="24"/>
  223. <ColumnDefinition Width="180"/>
  224. <ColumnDefinition Width="24"/>
  225. <ColumnDefinition Width="64"/>
  226. </Grid.ColumnDefinitions>
  227. <TextBlock Text="{Binding Key}" VerticalAlignment="Center"/>
  228. <Button Grid.Column="2" Background="Transparent" HorizontalContentAlignment="Left" BorderThickness="0"
  229. Command="{Binding RelativeSource={RelativeSource AncestorType=local:DBInfoTrace, Mode=FindAncestor}, Path=DataContext.EditLineCommand}"
  230. CommandParameter="{Binding}">
  231. <Line X1="0" Y1="0" X2="100" Y2="0" Stretch="Fill" Stroke="{Binding Value.Brush}" StrokeDashArray="{Binding Value.DashArray}" StrokeThickness="3"/>
  232. </Button>
  233. <Button Grid.Column="4" Style="{StaticResource FunctionButton}"
  234. Command="{Binding RelativeSource={RelativeSource AncestorType=local:DBInfoTrace, Mode=FindAncestor},
  235. Path=DataContext.RemoveLeftCommand}"
  236. CommandParameter="{Binding Key}">移除</Button>
  237. </Grid>
  238. </DataTemplate>
  239. </ItemsControl.ItemTemplate>
  240. </ItemsControl>
  241. </ScrollViewer>
  242. </Border>
  243. </Grid>
  244. <Grid Grid.Column="4" >
  245. <Grid.RowDefinitions>
  246. <RowDefinition Height="24"/>
  247. <RowDefinition Height="4"/>
  248. <RowDefinition/>
  249. </Grid.RowDefinitions>
  250. <TextBlock VerticalAlignment="Center">右侧坐标轴</TextBlock>
  251. <Button HorizontalAlignment="Right" Width="80" Style="{StaticResource FunctionButton}" Command="{Binding ClearCommand}" CommandParameter="R">清除</Button>
  252. <Border Grid.Row="2" BorderBrush="{StaticResource DarkBorderColor}" BorderThickness="1">
  253. <ScrollViewer HorizontalScrollBarVisibility="Auto">
  254. <ItemsControl ItemsSource="{Binding Right}">
  255. <ItemsControl.ItemTemplate>
  256. <DataTemplate>
  257. <Grid Margin="4,2">
  258. <Grid.ColumnDefinitions>
  259. <ColumnDefinition Width="*"/>
  260. <ColumnDefinition Width="24"/>
  261. <ColumnDefinition Width="180"/>
  262. <ColumnDefinition Width="24"/>
  263. <ColumnDefinition Width="64"/>
  264. </Grid.ColumnDefinitions>
  265. <TextBlock Text="{Binding Key}" VerticalAlignment="Center"/>
  266. <Button Grid.Column="2" Background="Transparent" HorizontalContentAlignment="Left" BorderThickness="0"
  267. Command="{Binding RelativeSource={RelativeSource AncestorType=local:DBInfoTrace, Mode=FindAncestor}, Path=DataContext.EditLineCommand}"
  268. CommandParameter="{Binding}">
  269. <Line X1="0" Y1="0" X2="100" Y2="0" Stretch="Fill" Stroke="{Binding Value.Brush}" StrokeDashArray="{Binding Value.DashArray}" StrokeThickness="3"/>
  270. </Button>
  271. <Button Grid.Column="4" Style="{StaticResource FunctionButton}"
  272. Command="{Binding RelativeSource={RelativeSource AncestorType=local:DBInfoTrace, Mode=FindAncestor},
  273. Path=DataContext.RemoveRightCommand}"
  274. CommandParameter="{Binding Key}">移除</Button>
  275. </Grid>
  276. </DataTemplate>
  277. </ItemsControl.ItemTemplate>
  278. </ItemsControl>
  279. </ScrollViewer>
  280. </Border>
  281. </Grid>
  282. </Grid>
  283. </Grid>
  284. </UserControl>