DBInfoTrace.xaml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  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.ColumnDefinitions>
  18. <ColumnDefinition Width="auto"/>
  19. <ColumnDefinition Width="2"/>
  20. <ColumnDefinition Width="*"/>
  21. </Grid.ColumnDefinitions>
  22. <Grid.RowDefinitions>
  23. <RowDefinition/>
  24. <RowDefinition Height="2"/>
  25. <RowDefinition Height="180"/>
  26. </Grid.RowDefinitions>
  27. <Expander ExpandDirection="Right" IsExpanded="True" Margin="0,6" Padding="0,-2" TextElement.FontSize="14">
  28. <Expander.Header>
  29. <TextBlock Text="数据编辑" HorizontalAlignment="Center" Margin="4">
  30. <TextBlock.LayoutTransform>
  31. <RotateTransform Angle="-90"/>
  32. </TextBlock.LayoutTransform>
  33. </TextBlock>
  34. </Expander.Header>
  35. <Grid>
  36. <Grid.ColumnDefinitions>
  37. <ColumnDefinition Width="auto"/>
  38. <ColumnDefinition Width="4"/>
  39. <ColumnDefinition Width="auto"/>
  40. </Grid.ColumnDefinitions>
  41. <GroupBox Header="时间范围" Margin="4,0" MinWidth="240" BorderBrush="{StaticResource DarkBorderColor}">
  42. <ScrollViewer >
  43. <ItemsControl ItemsSource="{Binding RecipeSteps}" Margin="4">
  44. <ItemsControl.ItemTemplate>
  45. <DataTemplate>
  46. <CheckBox Margin="0,1" VerticalAlignment="Center" Style="{StaticResource StepCheckBox}" IsChecked="{Binding Value.IsSelected, Mode=TwoWay}">
  47. <i:Interaction.Triggers>
  48. <i:EventTrigger EventName="Checked">
  49. <prism:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:DBInfoTrace},
  50. Path=DataContext.SelectedCommand}"
  51. CommandParameter="{Binding Value}"/>
  52. </i:EventTrigger>
  53. <i:EventTrigger EventName="Unchecked">
  54. <prism:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:DBInfoTrace},
  55. Path=DataContext.UnSelectedCommand}"
  56. CommandParameter="{Binding Value}"/>
  57. </i:EventTrigger>
  58. </i:Interaction.Triggers>
  59. <Grid HorizontalAlignment="Left" Margin="8,0,0,0" VerticalAlignment="Center">
  60. <Grid.ColumnDefinitions>
  61. <ColumnDefinition Width="auto"/>
  62. <ColumnDefinition Width="12"/>
  63. <ColumnDefinition Width="0"/>
  64. <ColumnDefinition Width="12"/>
  65. <ColumnDefinition Width="auto"/>
  66. </Grid.ColumnDefinitions>
  67. <TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" Text="{Binding Key, StringFormat=yyyy-MM-dd HH:mm:ss.f}"/>
  68. <!--<TextBlock Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding Value.Step_Number}"/>-->
  69. <TextBlock Grid.Column="4" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding Value.Step_Name}"/>
  70. </Grid>
  71. </CheckBox>
  72. </DataTemplate>
  73. </ItemsControl.ItemTemplate>
  74. <ItemsControl.ItemsPanel>
  75. <ItemsPanelTemplate>
  76. <StackPanel Orientation="Vertical"/>
  77. </ItemsPanelTemplate>
  78. </ItemsControl.ItemsPanel>
  79. </ItemsControl>
  80. </ScrollViewer>
  81. </GroupBox>
  82. <GroupBox Grid.Column="2" Margin="4,0" Header="数据选择" MinWidth="240" BorderBrush="{StaticResource DarkBorderColor}">
  83. <Grid>
  84. <Grid.RowDefinitions>
  85. <RowDefinition Height="auto"/>
  86. <RowDefinition Height="4"/>
  87. <RowDefinition Height="*"/>
  88. </Grid.RowDefinitions>
  89. <Button Grid.Row="0" Style="{StaticResource FunctionButton}" Command="{Binding ReturnCommand}" Margin="4">返回上级</Button>
  90. <ScrollViewer Grid.Row="2">
  91. <ItemsControl ItemsSource="{Binding Hierachy}">
  92. <ItemsControl.ItemTemplate>
  93. <DataTemplate>
  94. <Button Content="{Binding Key}" VerticalContentAlignment="Center" HorizontalContentAlignment="Left"
  95. Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:DBInfoTrace}, Path=DataContext.SelectHierachyCommand}"
  96. CommandParameter="{Binding}" Margin="4" Padding="8,2" Background="Transparent"></Button>
  97. <!--<TextBlock Text="{Binding Key}"></TextBlock>-->
  98. </DataTemplate>
  99. </ItemsControl.ItemTemplate>
  100. </ItemsControl>
  101. </ScrollViewer>
  102. </Grid>
  103. </GroupBox>
  104. </Grid>
  105. </Expander>
  106. <GroupBox Grid.Column="2" Header="数据图表" Margin="6">
  107. <Grid >
  108. <Grid.RowDefinitions>
  109. <RowDefinition/>
  110. <RowDefinition Height="8"/>
  111. <RowDefinition Height="auto"/>
  112. <RowDefinition Height="0"/>
  113. </Grid.RowDefinitions>
  114. <ContentControl Content="{Binding PlotControl, Mode=OneTime}" />
  115. <WrapPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center" >
  116. <StackPanel Orientation="Horizontal" Margin="12,0">
  117. <Button Width="120" Height="24" Style="{StaticResource FunctionButton}" Command="{Binding GeneratePlotCommand}">绘制图标</Button>
  118. <Button Width="120" Height="24" Margin="4" Style="{StaticResource FunctionButton}" >查看数据</Button>
  119. </StackPanel>
  120. <StackPanel Orientation="Horizontal" Margin="12,0">
  121. <Button Width="120" Height="24" Style="{StaticResource FunctionButton}" Command="{Binding ReScaleCommand}" CommandParameter="+">横坐标 放大</Button>
  122. <Button Width="120" Height="24" Margin="4" Style="{StaticResource FunctionButton}" Command="{Binding ReScaleCommand}" CommandParameter="-">横坐标 缩小</Button>
  123. </StackPanel>
  124. <StackPanel Orientation="Horizontal" Margin="12,0">
  125. <Button Width="120" Height="24" Style="{StaticResource FunctionButton}" Command="{Binding ReScaleCommand}" CommandParameter="add">纵坐标 放大</Button>
  126. <Button Width="120" Height="24" Margin="4" Style="{StaticResource FunctionButton}" Command="{Binding ReScaleCommand}" CommandParameter="minus">纵坐标 缩小</Button>
  127. </StackPanel>
  128. <Button Width="120" Height="24" Margin="12,0" Style="{StaticResource FunctionButton}" Command="{Binding ReScaleCommand}" CommandParameter="">重置缩放</Button>
  129. </WrapPanel>
  130. </Grid>
  131. </GroupBox>
  132. <Grid Grid.Row="2" Grid.ColumnSpan="3" Margin="2,0,6,2">
  133. <Grid.ColumnDefinitions>
  134. <ColumnDefinition/>
  135. <ColumnDefinition Width="16"/>
  136. <ColumnDefinition/>
  137. </Grid.ColumnDefinitions>
  138. <Grid >
  139. <Grid.RowDefinitions>
  140. <RowDefinition Height="auto"/>
  141. <RowDefinition Height="4"/>
  142. <RowDefinition/>
  143. </Grid.RowDefinitions>
  144. <TextBlock VerticalAlignment="Center">左侧坐标轴</TextBlock>
  145. <Button HorizontalAlignment="Right" Width="80" Style="{StaticResource FunctionButton}" Command="{Binding ClearCommand}" CommandParameter="L">清除</Button>
  146. <Border Grid.Row="2" BorderBrush="{StaticResource DarkBorderColor}" BorderThickness="1">
  147. <ScrollViewer >
  148. <ItemsControl ItemsSource="{Binding Left}">
  149. <ItemsControl.ItemTemplate>
  150. <DataTemplate>
  151. <Grid Margin="4,2">
  152. <Grid.ColumnDefinitions>
  153. <ColumnDefinition Width="*"/>
  154. <ColumnDefinition Width="24"/>
  155. <ColumnDefinition Width="180"/>
  156. <ColumnDefinition Width="24"/>
  157. <ColumnDefinition Width="64"/>
  158. </Grid.ColumnDefinitions>
  159. <TextBlock Text="{Binding Key}"/>
  160. <Button Grid.Column="2" Background="Transparent" HorizontalContentAlignment="Left" BorderThickness="0"
  161. Command="{Binding RelativeSource={RelativeSource AncestorType=local:DBInfoTrace, Mode=FindAncestor}, Path=DataContext.EditLineCommand}"
  162. CommandParameter="{Binding}">
  163. <Line X1="0" Y1="0" X2="100" Y2="0" Stretch="Fill" Stroke="{Binding Value.Brush}" StrokeDashArray="{Binding Value.DashArray}" StrokeThickness="3"/>
  164. </Button>
  165. <Button Grid.Column="4" Style="{StaticResource FunctionButton}"
  166. Command="{Binding RelativeSource={RelativeSource AncestorType=local:DBInfoTrace, Mode=FindAncestor},
  167. Path=DataContext.RemoveLeftCommand}"
  168. CommandParameter="{Binding Key}">移除</Button>
  169. </Grid>
  170. </DataTemplate>
  171. </ItemsControl.ItemTemplate>
  172. </ItemsControl>
  173. </ScrollViewer>
  174. </Border>
  175. </Grid>
  176. <Grid Grid.Column="2" >
  177. <Grid.RowDefinitions>
  178. <RowDefinition Height="auto"/>
  179. <RowDefinition Height="4"/>
  180. <RowDefinition/>
  181. </Grid.RowDefinitions>
  182. <TextBlock VerticalAlignment="Center">右侧坐标轴</TextBlock>
  183. <Button HorizontalAlignment="Right" Width="80" Style="{StaticResource FunctionButton}" Command="{Binding ClearCommand}" CommandParameter="R">清除</Button>
  184. <Border Grid.Row="2" BorderBrush="{StaticResource DarkBorderColor}" BorderThickness="1">
  185. <ScrollViewer>
  186. <ItemsControl ItemsSource="{Binding Right}">
  187. <ItemsControl.ItemTemplate>
  188. <DataTemplate>
  189. <Grid Margin="4,2">
  190. <Grid.ColumnDefinitions>
  191. <ColumnDefinition Width="*"/>
  192. <ColumnDefinition Width="24"/>
  193. <ColumnDefinition Width="180"/>
  194. <ColumnDefinition Width="24"/>
  195. <ColumnDefinition Width="64"/>
  196. </Grid.ColumnDefinitions>
  197. <TextBlock Text="{Binding Key}"/>
  198. <Button Grid.Column="2" Background="Transparent" HorizontalContentAlignment="Left" BorderThickness="0"
  199. Command="{Binding RelativeSource={RelativeSource AncestorType=local:DBInfoTrace, Mode=FindAncestor}, Path=DataContext.EditLineCommand}"
  200. CommandParameter="{Binding}">
  201. <Line X1="0" Y1="0" X2="100" Y2="0" Stretch="Fill" Stroke="{Binding Value.Brush}" StrokeDashArray="{Binding Value.DashArray}" StrokeThickness="3"/>
  202. </Button>
  203. <Button Grid.Column="4" Style="{StaticResource FunctionButton}"
  204. Command="{Binding RelativeSource={RelativeSource AncestorType=local:DBInfoTrace, Mode=FindAncestor},
  205. Path=DataContext.RemoveRightCommand}"
  206. CommandParameter="{Binding Key}">移除</Button>
  207. </Grid>
  208. </DataTemplate>
  209. </ItemsControl.ItemTemplate>
  210. </ItemsControl>
  211. </ScrollViewer>
  212. </Border>
  213. </Grid>
  214. </Grid>
  215. </Grid>
  216. </UserControl>