KeplerPartialPressureView.xaml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <UserControl x:Class="Venus_MainPages.Views.KeplerPartialPressureView"
  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:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
  7. xmlns:local="clr-namespace:Venus_MainPages.Views"
  8. xmlns:prism="http://prismlibrary.com/"
  9. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  10. prism:ViewModelLocator.AutoWireViewModel="True"
  11. xmlns:unity="clr-namespace:Venus_MainPages.Unity"
  12. xmlns:sys="clr-namespace:System;assembly=mscorlib"
  13. xmlns:customControls="clr-namespace:Venus_Themes.CustomControls;assembly=Venus_Themes"
  14. mc:Ignorable="d"
  15. xmlns:converters="clr-namespace:Venus_MainPages.Converters"
  16. d:DesignHeight="450" d:DesignWidth="800">
  17. <i:Interaction.Triggers>
  18. <i:EventTrigger EventName="Loaded">
  19. <i:InvokeCommandAction Command="{Binding LoadCommand}"/>
  20. </i:EventTrigger>
  21. </i:Interaction.Triggers>
  22. <UserControl.Resources>
  23. <sys:String x:Key="Module">PMA</sys:String>
  24. <converters:MfcDataConverter x:Key="MfcDataConverter"/>
  25. <converters:AllNoneCheckboxConverter x:Key="AllNoneCheckboxConverter"/>
  26. </UserControl.Resources>
  27. <Grid>
  28. <Grid.ColumnDefinitions>
  29. <ColumnDefinition Width="*"/>
  30. <ColumnDefinition Width="2*" />
  31. <ColumnDefinition Width="6*"/>
  32. </Grid.ColumnDefinitions>
  33. <Canvas>
  34. <TextBlock Text="Flow Time:" Canvas.Left="10" Canvas.Top="150" FontSize="15"/>
  35. <TextBox FontSize="15" Canvas.Left="92" Canvas.Top="150" Width="80" Text="{Binding GasTime,UpdateSourceTrigger=PropertyChanged}" BorderThickness="0,0,0,1" Background="Transparent" BorderBrush="Black" HorizontalContentAlignment="Center"/>
  36. <TextBlock FontSize="15" Canvas.Left="176" Canvas.Top="150" Text="(s)"/>
  37. <!--<TextBlock Text="Gas Name:" Canvas.Left="10" Canvas.Top="160" FontSize="15"/>
  38. <TextBlock Text="{Binding GasName}" Canvas.Left="90" Canvas.Top="160" FontSize="15"/>-->
  39. <StackPanel Canvas.Top="180">
  40. <CheckBox Content="All" FontSize="15" Margin="18">
  41. <CheckBox.IsChecked>
  42. <MultiBinding Converter="{StaticResource AllNoneCheckboxConverter}">
  43. <Binding ElementName="mfc1CheckBox" Path="IsChecked"/>
  44. <Binding ElementName="mfc2CheckBox" Path="IsChecked"/>
  45. <Binding ElementName="mfc3CheckBox" Path="IsChecked"/>
  46. <Binding ElementName="mfc4CheckBox" Path="IsChecked"/>
  47. <Binding ElementName="mfc5CheckBox" Path="IsChecked"/>
  48. <Binding ElementName="mfc6CheckBox" Path="IsChecked"/>
  49. <Binding ElementName="mfc7CheckBox" Path="IsChecked"/>
  50. <Binding ElementName="mfc8CheckBox" Path="IsChecked"/>
  51. </MultiBinding>
  52. </CheckBox.IsChecked>
  53. </CheckBox>
  54. <CheckBox x:Name="mfc1CheckBox" FontSize="15" Margin="18" Content="{Binding MFC1Data,Converter={StaticResource MfcDataConverter}}" IsChecked="{Binding MFC1IsEnabled}"/>
  55. <CheckBox x:Name="mfc2CheckBox" FontSize="15" Margin="18" Content="{Binding MFC2Data,Converter={StaticResource MfcDataConverter}}" IsChecked="{Binding MFC2IsEnabled}"/>
  56. <CheckBox x:Name="mfc3CheckBox" FontSize="15" Margin="18" Content="{Binding MFC3Data,Converter={StaticResource MfcDataConverter}}" IsChecked="{Binding MFC3IsEnabled}"/>
  57. <CheckBox x:Name="mfc4CheckBox" FontSize="15" Margin="18" Content="{Binding MFC4Data,Converter={StaticResource MfcDataConverter}}" IsChecked="{Binding MFC4IsEnabled}"/>
  58. <CheckBox x:Name="mfc5CheckBox" FontSize="15" Margin="18" Content="{Binding MFC5Data,Converter={StaticResource MfcDataConverter}}" IsChecked="{Binding MFC5IsEnabled}"/>
  59. <CheckBox x:Name="mfc6CheckBox" FontSize="15" Margin="18" Content="{Binding MFC6Data,Converter={StaticResource MfcDataConverter}}" IsChecked="{Binding MFC6IsEnabled}"/>
  60. <CheckBox x:Name="mfc7CheckBox" FontSize="15" Margin="18" Content="{Binding MFC7Data,Converter={StaticResource MfcDataConverter}}" IsChecked="{Binding MFC7IsEnabled}"/>
  61. <CheckBox x:Name="mfc8CheckBox" FontSize="15" Margin="18" Content="{Binding MFC8Data,Converter={StaticResource MfcDataConverter}}" IsChecked="{Binding MFC8IsEnabled}"/>
  62. </StackPanel>
  63. <customControls:PathButton Content="Start" Canvas.Left="10" Canvas.Top="700" Width="90" Height="25" Command="{Binding StartCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  64. <customControls:PathButton Content="Abort" Canvas.Left="110" Canvas.Top="700" Width="90" Height="25" Command="{Binding AbortCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  65. </Canvas>
  66. <Canvas Grid.Column="1">
  67. <TextBlock Text="{Binding CurrentGas}" FontSize="15" FontWeight="Bold" Canvas.Left="10" Canvas.Top="160"/>
  68. <TextBlock Text="Test Result:" FontSize="15" FontWeight="Bold" Canvas.Left="80" Canvas.Top="160"/>
  69. <Grid Canvas.Left="10" Canvas.Top="200" Height="440" unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="#D8DEE5" Width="400" Background="WhiteSmoke">
  70. <Grid.ColumnDefinitions>
  71. <ColumnDefinition/>
  72. <ColumnDefinition Width="2*"/>
  73. <ColumnDefinition/>
  74. <ColumnDefinition Width="2*"/>
  75. </Grid.ColumnDefinitions>
  76. <Grid.RowDefinitions>
  77. <RowDefinition Height="33.846"/>
  78. <RowDefinition/>
  79. <RowDefinition Height="33.846"/>
  80. <RowDefinition/>
  81. <RowDefinition/>
  82. <RowDefinition/>
  83. <RowDefinition/>
  84. <RowDefinition/>
  85. <RowDefinition/>
  86. <RowDefinition/>
  87. <RowDefinition/>
  88. <RowDefinition/>
  89. <RowDefinition/>
  90. </Grid.RowDefinitions>
  91. <TextBlock Text="Current" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  92. <TextBlock Text="Reference" Grid.Column="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  93. <TextBlock Text="Flow" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  94. <TextBlock Text="Pressure" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  95. <TextBlock Text="Flow" Grid.Row="1" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  96. <TextBlock Text="Pressure" Grid.Row="1" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  97. <TextBlock Text="{Binding Path=GasFlows[0], Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  98. <TextBlock Text="{Binding Path=GasFlows[1], Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  99. <TextBlock Text="{Binding Path=GasFlows[2], Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="4" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  100. <TextBlock Text="{Binding Path=GasFlows[3], Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="5" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  101. <TextBlock Text="{Binding Path=GasFlows[4], Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="6" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  102. <TextBlock Text="{Binding Path=GasFlows[5], Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="7" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  103. <TextBlock Text="{Binding Path=GasFlows[6], Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="8" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  104. <TextBlock Text="{Binding Path=GasFlows[7], Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="9" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  105. <TextBlock Text="{Binding Path=GasFlows[8], Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="10" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  106. <TextBlock Text="{Binding Path=GasFlows[9], Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="11" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  107. <TextBlock Text="{Binding CurrentLineSeries[0]}" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  108. <TextBlock Text="{Binding CurrentLineSeries[1]}" Grid.Row="3" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  109. <TextBlock Text="{Binding CurrentLineSeries[2]}" Grid.Row="4" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  110. <TextBlock Text="{Binding CurrentLineSeries[3]}" Grid.Row="5" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  111. <TextBlock Text="{Binding CurrentLineSeries[4]}" Grid.Row="6" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  112. <TextBlock Text="{Binding CurrentLineSeries[5]}" Grid.Row="7" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  113. <TextBlock Text="{Binding CurrentLineSeries[6]}" Grid.Row="8" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  114. <TextBlock Text="{Binding CurrentLineSeries[7]}" Grid.Row="9" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  115. <TextBlock Text="{Binding CurrentLineSeries[8]}" Grid.Row="10" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  116. <TextBlock Text="{Binding CurrentLineSeries[9]}" Grid.Row="11" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  117. <TextBlock Text="{Binding ReferenceFlow[0], Mode=TwoWay}" Grid.Row="2" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  118. <TextBlock Text="{Binding ReferenceFlow[1], Mode=TwoWay}" Grid.Row="3" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  119. <TextBlock Text="{Binding ReferenceFlow[2], Mode=TwoWay}" Grid.Row="4" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  120. <TextBlock Text="{Binding ReferenceFlow[3], Mode=TwoWay}" Grid.Row="5" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  121. <TextBlock Text="{Binding ReferenceFlow[4], Mode=TwoWay}" Grid.Row="6" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  122. <TextBlock Text="{Binding ReferenceFlow[5], Mode=TwoWay}" Grid.Row="7" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  123. <TextBlock Text="{Binding ReferenceFlow[6], Mode=TwoWay}" Grid.Row="8" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  124. <TextBlock Text="{Binding ReferenceFlow[7], Mode=TwoWay}" Grid.Row="9" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  125. <TextBlock Text="{Binding ReferenceFlow[8], Mode=TwoWay}" Grid.Row="10" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  126. <TextBlock Text="{Binding ReferenceFlow[9], Mode=TwoWay}" Grid.Row="11" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  127. <TextBlock Text="{Binding ReferenceLineSeries[0]}" Grid.Row="2" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  128. <TextBlock Text="{Binding ReferenceLineSeries[1]}" Grid.Row="3" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  129. <TextBlock Text="{Binding ReferenceLineSeries[2]}" Grid.Row="4" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  130. <TextBlock Text="{Binding ReferenceLineSeries[3]}" Grid.Row="5" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  131. <TextBlock Text="{Binding ReferenceLineSeries[4]}" Grid.Row="6" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  132. <TextBlock Text="{Binding ReferenceLineSeries[5]}" Grid.Row="7" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  133. <TextBlock Text="{Binding ReferenceLineSeries[6]}" Grid.Row="8" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  134. <TextBlock Text="{Binding ReferenceLineSeries[7]}" Grid.Row="9" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  135. <TextBlock Text="{Binding ReferenceLineSeries[8]}" Grid.Row="10" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  136. <TextBlock Text="{Binding ReferenceLineSeries[9]}" Grid.Row="11" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  137. </Grid>
  138. <customControls:PathButton Content="Save" Canvas.Left="10" Canvas.Top="700" Width="110" Height="26" Command="{Binding SaveCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  139. <customControls:PathButton Content="Compare" Canvas.Left="300" Canvas.Top="700" Width="110" Height="26" Command="{Binding LoadReferenceCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  140. </Canvas>
  141. <Grid Grid.Column="2">
  142. <lvc:CartesianChart LegendLocation="Right" Hoverable="True" DataTooltip="{x:Null}" Grid.Row="1" Height="700" >
  143. <lvc:CartesianChart.Series>
  144. <lvc:LineSeries Title="Current" Width="1" Values="{Binding CurrentLineSeries}" Fill="Transparent" LineSmoothness="0" PointGeometry="{x:Null}" />
  145. <lvc:LineSeries Title="Reference" Width="1" Values="{Binding ReferenceLineSeries}" Fill="Transparent" LineSmoothness="0" PointGeometry="{x:Null}"/>
  146. </lvc:CartesianChart.Series>
  147. <lvc:CartesianChart.AxisX>
  148. <lvc:Axis Title="SetPoint(%)" Labels="10%,20%,30%,40%,50%,60%,70%,80%,90%,100%" FontSize="15" Foreground="Black">
  149. <lvc:Axis.Separator>
  150. <lvc:Separator Step="1"/>
  151. </lvc:Axis.Separator>
  152. </lvc:Axis>
  153. </lvc:CartesianChart.AxisX>
  154. <lvc:CartesianChart.AxisY>
  155. <lvc:Axis Title="{Binding PressureType, StringFormat=Pressure({0})}" FontSize="15" Foreground="Black">
  156. </lvc:Axis>
  157. </lvc:CartesianChart.AxisY>
  158. </lvc:CartesianChart>
  159. </Grid>
  160. </Grid>
  161. </UserControl>