CalibrationCameraParams.xaml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. <UserControl x:Class="TeamAAS_VP.Views.Calibration.CalibrationCameraParams"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:prism="http://prismlibrary.com/"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  7. xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
  8. xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
  9. xmlns:wf="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
  10. xmlns:vp="clr-namespace:Cognex.VisionPro;assembly=Cognex.VisionPro.Controls"
  11. xmlns:vm="clr-namespace:TeamAAS_VP.ViewModels.Calibration"
  12. xmlns:uControl="clr-namespace:TeamAAS_VP.Controls"
  13. xmlns:convert="clr-namespace:TeamAAS_VP.ValueConverter"
  14. xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
  15. xmlns:lex="http://wpflocalizeextension.codeplex.com"
  16. lex:LocalizeDictionary.DesignCulture="zh-CN"
  17. lex:ResxLocalizationProvider.DefaultAssembly="TeamAAS-VP"
  18. lex:ResxLocalizationProvider.DefaultDictionary="Lang"
  19. prism:ViewModelLocator.AutoWireViewModel="True"
  20. mc:Ignorable="d"
  21. d:DataContext="{d:DesignInstance Type=vm:CalibrationCameraParamsViewModel}"
  22. d:Height="600"
  23. d:Width="1024"
  24. d:Background="White"
  25. FontFamily="{DynamicResource DefaultFont}">
  26. <b:Interaction.Triggers>
  27. <b:EventTrigger EventName="Loaded">
  28. <b:InvokeCommandAction Command="{Binding LoadedCommand}" />
  29. </b:EventTrigger>
  30. </b:Interaction.Triggers>
  31. <UserControl.Resources>
  32. <convert:JogConverter x:Key="JogConverter" />
  33. </UserControl.Resources>
  34. <Grid>
  35. <Grid.RowDefinitions>
  36. <RowDefinition Height="auto" />
  37. <RowDefinition Height="*" />
  38. <RowDefinition Height="auto" />
  39. </Grid.RowDefinitions>
  40. <Button Grid.Row="0"
  41. Content="{materialDesign:PackIcon Kind=ArrowLeftCircle}"
  42. Width="50"
  43. HorizontalAlignment="Left"
  44. VerticalAlignment="Top"
  45. ToolTip="{lex:Loc 返回}"
  46. Style="{StaticResource MaterialDesignIconButton}"
  47. Command="{Binding BackCommand}" />
  48. <StackPanel Grid.Row="0"
  49. Orientation="Horizontal"
  50. Margin="50,0"
  51. VerticalAlignment="Center">
  52. <materialDesign:PackIcon Kind="CrosshairsGps"
  53. Width="30"
  54. Height="30" />
  55. <TextBlock Text="{Binding SelectCalibration.Name,Converter={StaticResource StringFormatConverter},ConverterParameter=' [{0}] '}"
  56. VerticalAlignment="Center" />
  57. <TextBlock Text="{lex:Loc 校准相机参数设置,Converter={StaticResource StringFormatConverter},ConverterParameter='- {0}'}"
  58. VerticalAlignment="Center" />
  59. </StackPanel>
  60. <materialDesign:DrawerHost Grid.Row="1"
  61. IsEnabled="{Binding IsAllowEdit}"
  62. OpenMode="Standard"
  63. d:IsRightDrawerOpen="true"
  64. x:Name="DrawerHost">
  65. <materialDesign:DrawerHost.RightDrawerContent>
  66. <uControl:RobotManual x:Name="robotManual" />
  67. </materialDesign:DrawerHost.RightDrawerContent>
  68. <Grid>
  69. <Grid>
  70. <Grid.ColumnDefinitions>
  71. <ColumnDefinition Width="*" />
  72. <ColumnDefinition Width="auto" />
  73. </Grid.ColumnDefinitions>
  74. <Grid Grid.Column="1">
  75. <Grid.RowDefinitions>
  76. <RowDefinition Height="auto" />
  77. <RowDefinition Height="auto" />
  78. <RowDefinition Height="auto" />
  79. <RowDefinition Height="auto" />
  80. </Grid.RowDefinitions>
  81. <Grid.ColumnDefinitions>
  82. <ColumnDefinition Width="auto" />
  83. <ColumnDefinition Width="*" />
  84. </Grid.ColumnDefinitions>
  85. <TextBlock Text="{lex:Loc 相机参数设置}"
  86. Grid.Row="0"
  87. FontWeight="Bold"
  88. Margin="10"
  89. Grid.ColumnSpan="2" />
  90. <TextBlock Grid.Row="1"
  91. Grid.Column="0"
  92. Margin="5"
  93. VerticalAlignment="Center"
  94. Text="{lex:Loc 曝光时间,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}" />
  95. <mah:NumericUpDown Grid.Row="1"
  96. Grid.Column="1"
  97. Margin="5"
  98. Minimum="35"
  99. Maximum="999985"
  100. Interval="35"
  101. StringFormat="{}{0:N0} us"
  102. Value="{Binding ExposureTime,Mode=TwoWay}" />
  103. <TextBlock Grid.Row="2"
  104. Grid.Column="0"
  105. Margin="5"
  106. VerticalAlignment="Center"
  107. Text="{lex:Loc 增益,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}" />
  108. <mah:NumericUpDown Grid.Row="2"
  109. Grid.Column="1"
  110. Margin="5"
  111. Minimum="0"
  112. Maximum="63"
  113. Interval="1"
  114. StringFormat="{}{0:N2} db"
  115. Value="{Binding Gain,Mode=TwoWay}" />
  116. </Grid>
  117. <wf:WindowsFormsHost Grid.Column="0"
  118. Margin="0,35,0,35">
  119. <vp:CogRecordDisplay x:Name="display" />
  120. </wf:WindowsFormsHost>
  121. <StackPanel Orientation="Horizontal"
  122. Grid.Column="0"
  123. Margin="5"
  124. VerticalAlignment="Top"
  125. Visibility="{Binding IsShowLight,Converter={StaticResource BooleanToVisibilityConverter}}">
  126. <TextBlock Text="{lex:Loc 光源亮度,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
  127. VerticalAlignment="Center" />
  128. <Slider x:Name="lightSlider"
  129. Maximum="100"
  130. Minimum="1"
  131. Width="100"
  132. Value="{Binding SelectCalibration.Brightness}"
  133. Height="20"
  134. VerticalAlignment="Top"
  135. Margin="10,0">
  136. <b:Interaction.Triggers>
  137. <b:EventTrigger EventName="ValueChanged">
  138. <b:InvokeCommandAction Command="{Binding LightValueChangedCommand}"
  139. CommandParameter="{Binding ElementName=lightSlider,Path=Value}" />
  140. </b:EventTrigger>
  141. </b:Interaction.Triggers>
  142. </Slider>
  143. <TextBlock Text="{Binding ElementName=lightSlider,Path=Value,Mode=TwoWay,StringFormat={}{0:F0}}"
  144. Foreground="White"
  145. VerticalAlignment="Center" />
  146. </StackPanel>
  147. </Grid>
  148. <StackPanel Grid.Column="0"
  149. HorizontalAlignment="Left"
  150. VerticalAlignment="Bottom"
  151. Orientation="Horizontal">
  152. <Button Grid.Column="0"
  153. Content="{lex:Loc 开始采集}"
  154. IsEnabled="{Binding IsAllowEdit}"
  155. MinWidth="100"
  156. materialDesign:ButtonAssist.CornerRadius="10"
  157. Style="{StaticResource MaterialDesignRaisedButton}"
  158. Command="{Binding StartGrabbingCommand}" />
  159. <Button Grid.Column="0"
  160. Content="{lex:Loc 停止采集}"
  161. IsEnabled="{Binding IsAllowEdit}"
  162. MinWidth="100"
  163. Margin="10,0"
  164. materialDesign:ButtonAssist.CornerRadius="10"
  165. Style="{StaticResource MaterialDesignRaisedButton}"
  166. Command="{Binding StopGrabbingCommand}" />
  167. </StackPanel>
  168. </Grid>
  169. </materialDesign:DrawerHost>
  170. <StackPanel Orientation="Horizontal"
  171. HorizontalAlignment="Right"
  172. VerticalAlignment="Bottom">
  173. <ToggleButton materialDesign:ToggleButtonAssist.OnContent="{materialDesign:PackIcon Kind=ArrowRight}"
  174. Content="{materialDesign:PackIcon Kind=RobotIndustrial}"
  175. IsEnabled="{Binding IsAllowEdit}"
  176. Style="{StaticResource MaterialDesignActionToggleButton}"
  177. ToolTip="{lex:Loc 机器人步进}"
  178. Margin="2,0"
  179. IsChecked="{Binding IsRightDrawerOpen,ElementName=DrawerHost}" />
  180. </StackPanel>
  181. <StackPanel Grid.Row="2"
  182. Orientation="Horizontal"
  183. HorizontalAlignment="Center"
  184. VerticalAlignment="Center"
  185. Margin="20">
  186. <Button Content="{lex:Loc 下一步}"
  187. IsEnabled="{Binding IsAllowEdit}"
  188. MinWidth="150"
  189. Margin="10,0"
  190. HorizontalAlignment="Center"
  191. VerticalAlignment="Center"
  192. materialDesign:ButtonAssist.CornerRadius="10"
  193. Style="{StaticResource MaterialDesignRaisedButton}"
  194. Command="{Binding NextCommand}" />
  195. </StackPanel>
  196. </Grid>
  197. </UserControl>