CameraParams.xaml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. <UserControl x:Class="TeamAAS_VP.Views.Product.CameraParams"
  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:wf="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
  6. xmlns:vp="clr-namespace:Cognex.VisionPro;assembly=Cognex.VisionPro.Controls"
  7. xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
  8. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  9. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  10. xmlns:vm="clr-namespace:TeamAAS_VP.ViewModels.Product"
  11. xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
  12. xmlns:sys="clr-namespace:System;assembly=mscorlib"
  13. xmlns:uControl="clr-namespace:TeamAAS_VP.Controls"
  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:CameraParamsViewModel}"
  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. <Grid>
  32. <Grid.RowDefinitions>
  33. <RowDefinition Height="auto" />
  34. <RowDefinition Height="*" />
  35. <RowDefinition Height="auto" />
  36. </Grid.RowDefinitions>
  37. <Button Grid.Row="0"
  38. Content="{materialDesign:PackIcon Kind=ArrowLeftCircle}"
  39. Width="50"
  40. HorizontalAlignment="Left"
  41. VerticalAlignment="Top"
  42. ToolTip="{lex:Loc 返回}"
  43. Style="{StaticResource MaterialDesignIconButton}"
  44. Command="{Binding BackCommand}" />
  45. <StackPanel Grid.Row="0"
  46. Orientation="Horizontal"
  47. Margin="50,0"
  48. VerticalAlignment="Center">
  49. <materialDesign:PackIcon Kind="CubeOutline"
  50. Width="30"
  51. Height="30" />
  52. <TextBlock Text="{Binding SelectProduct.Name}"
  53. VerticalAlignment="Center" />
  54. <TextBlock Text="{lex:Loc 图像源配置,Converter={StaticResource StringFormatConverter},ConverterParameter=' - {0}'}"
  55. VerticalAlignment="Center" />
  56. </StackPanel>
  57. <Border BorderThickness="1,1,1,1"
  58. VerticalAlignment="Bottom"
  59. Height="1">
  60. <Border.BorderBrush>
  61. <VisualBrush>
  62. <VisualBrush.Visual>
  63. <Rectangle StrokeDashArray="4 4"
  64. Stroke="LightGray"
  65. StrokeThickness="1"
  66. Width="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualWidth}"
  67. Height="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualHeight}" />
  68. </VisualBrush.Visual>
  69. </VisualBrush>
  70. </Border.BorderBrush>
  71. </Border>
  72. <materialDesign:DrawerHost Grid.Row="1"
  73. OpenMode="Standard"
  74. x:Name="DrawerHost"
  75. d:IsRightDrawerOpen="true"
  76. IsEnabled="{Binding IsAllowEdit}">
  77. <materialDesign:DrawerHost.RightDrawerContent>
  78. <uControl:RobotManual x:Name="robotManual"
  79. Visibility="{Binding IsHaveRobot,Converter={StaticResource BooleanToVisibilityConverter}}" />
  80. </materialDesign:DrawerHost.RightDrawerContent>
  81. <Grid>
  82. <Grid.ColumnDefinitions>
  83. <ColumnDefinition Width="auto" />
  84. <ColumnDefinition Width="*" />
  85. </Grid.ColumnDefinitions>
  86. <Expander Grid.Column="0"
  87. ExpandDirection="Right"
  88. Background="Transparent">
  89. <Expander.Header>
  90. <TextBlock RenderTransformOrigin=".5,.5"
  91. Text="Navigation Description">
  92. <TextBlock.LayoutTransform>
  93. <RotateTransform Angle="90" />
  94. </TextBlock.LayoutTransform>
  95. </TextBlock>
  96. </Expander.Header>
  97. <ScrollViewer>
  98. <StackPanel Margin="8,24,16,24"
  99. Orientation="Vertical">
  100. <Image Source="pack://application:,,,/TeamAAS-VP;component/Resources/Images/4图像采集.png"
  101. Stretch="Uniform"
  102. Width="350"
  103. HorizontalAlignment="Center"
  104. VerticalAlignment="Top" />
  105. <TextBlock Text="{lex:Loc 图像源配置}" />
  106. <TextBlock Foreground="Gray"
  107. TextWrapping="Wrap"
  108. Text="{lex:Loc 图像源配置描述}" />
  109. </StackPanel>
  110. </ScrollViewer>
  111. </Expander>
  112. <Grid Grid.Column="1">
  113. <Grid.ColumnDefinitions>
  114. <ColumnDefinition Width="*" />
  115. <ColumnDefinition Width="auto" />
  116. </Grid.ColumnDefinitions>
  117. <Grid Grid.Column="1">
  118. <Grid.RowDefinitions>
  119. <RowDefinition Height="auto" />
  120. <RowDefinition Height="auto" />
  121. <RowDefinition Height="auto" />
  122. <RowDefinition Height="auto" />
  123. <RowDefinition Height="auto" />
  124. </Grid.RowDefinitions>
  125. <Grid.ColumnDefinitions>
  126. <ColumnDefinition Width="auto" />
  127. <ColumnDefinition Width="*" />
  128. </Grid.ColumnDefinitions>
  129. <ToggleButton Grid.Column="1"
  130. HorizontalAlignment="Right"
  131. VerticalAlignment="Top"
  132. Visibility="{Binding IsHaveRobot,Converter={StaticResource BooleanToVisibilityConverter}}"
  133. materialDesign:ToggleButtonAssist.OnContent="{materialDesign:PackIcon Kind=ArrowRight}"
  134. Content="{materialDesign:PackIcon Kind=RobotIndustrial}"
  135. Style="{StaticResource MaterialDesignActionToggleButton}"
  136. ToolTip="{lex:Loc 机器人步进}"
  137. Margin="5,0"
  138. IsChecked="{Binding IsRightDrawerOpen,ElementName=DrawerHost}" />
  139. <TextBlock Text="{lex:Loc 相机参数设置}"
  140. Grid.Row="1"
  141. FontWeight="Bold"
  142. Margin="10"
  143. Grid.ColumnSpan="2" />
  144. <TextBlock Grid.Row="2"
  145. Grid.Column="0"
  146. Margin="5"
  147. VerticalAlignment="Center"
  148. Text="{lex:Loc 曝光时间,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}" />
  149. <mah:NumericUpDown Grid.Row="2"
  150. Grid.Column="1"
  151. Margin="5"
  152. Minimum="35"
  153. Maximum="999985"
  154. Interval="35"
  155. StringFormat="{}{0:N0} us"
  156. Value="{Binding ExposureTime,Mode=TwoWay}" />
  157. <TextBlock Grid.Row="3"
  158. Grid.Column="0"
  159. Margin="5"
  160. VerticalAlignment="Center"
  161. Text="{lex:Loc 增益,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}" />
  162. <mah:NumericUpDown Grid.Row="3"
  163. Grid.Column="1"
  164. Margin="5"
  165. Minimum="0"
  166. Maximum="63"
  167. Interval="1"
  168. StringFormat="{}{0:N2} db"
  169. Value="{Binding Gain,Mode=TwoWay}" />
  170. </Grid>
  171. <wf:WindowsFormsHost Grid.Column="0"
  172. Margin="0,40">
  173. <vp:CogRecordDisplay x:Name="display" />
  174. </wf:WindowsFormsHost>
  175. <StackPanel Orientation="Horizontal"
  176. Grid.Column="0"
  177. Margin="5"
  178. Visibility="{Binding IsHaveFeeder,Converter={StaticResource BooleanToVisibilityConverter}}"
  179. VerticalAlignment="Top">
  180. <TextBlock Text="{lex:Loc 光源亮度,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
  181. Margin="5,0"
  182. VerticalAlignment="Center" />
  183. <Button Width="25"
  184. Height="25"
  185. Margin="5,0"
  186. Content="{materialDesign:PackIcon Kind=Minus}"
  187. Style="{StaticResource MaterialDesignIconForegroundButton}"
  188. Command="{Binding LightValueSubCommand}"/>
  189. <Slider x:Name="lightSlider"
  190. Maximum="100"
  191. Minimum="1"
  192. Width="100"
  193. Value="{Binding SelectProcedure.LightValue}"
  194. Height="20"
  195. VerticalAlignment="Center">
  196. <b:Interaction.Triggers>
  197. <b:EventTrigger EventName="ValueChanged">
  198. <b:InvokeCommandAction Command="{Binding LightValueChangedCommand}"
  199. CommandParameter="{Binding ElementName=lightSlider,Path=Value}" />
  200. </b:EventTrigger>
  201. </b:Interaction.Triggers>
  202. </Slider>
  203. <Button Width="25"
  204. Height="25"
  205. Margin="5,0"
  206. Content="{materialDesign:PackIcon Kind=Plus}"
  207. Style="{StaticResource MaterialDesignIconForegroundButton}"
  208. Command="{Binding LightValueAddCommand}" />
  209. <TextBlock Text="{Binding ElementName=lightSlider,Path=Value,Mode=TwoWay,StringFormat={}{0:F0}}"
  210. VerticalAlignment="Center" />
  211. </StackPanel>
  212. <StackPanel Grid.Column="0"
  213. HorizontalAlignment="Left"
  214. VerticalAlignment="Bottom"
  215. Orientation="Horizontal">
  216. <Button Grid.Column="0"
  217. Content="{lex:Loc 开始采集}"
  218. IsEnabled="{Binding IsAllowEdit}"
  219. MinWidth="100"
  220. materialDesign:ButtonAssist.CornerRadius="10"
  221. Style="{StaticResource MaterialDesignRaisedButton}"
  222. Command="{Binding StartGrabbingCommand}" />
  223. <Button Grid.Column="0"
  224. Content="{lex:Loc 停止采集}"
  225. IsEnabled="{Binding IsAllowEdit}"
  226. MinWidth="100"
  227. Margin="10,0"
  228. materialDesign:ButtonAssist.CornerRadius="10"
  229. Style="{StaticResource MaterialDesignRaisedButton}"
  230. Command="{Binding StopGrabbingCommand}" />
  231. <TextBlock Text="{Binding Message}" VerticalAlignment="Center" Foreground="Gray"/>
  232. </StackPanel>
  233. </Grid>
  234. </Grid>
  235. </materialDesign:DrawerHost>
  236. <StackPanel Grid.Row="2"
  237. Orientation="Horizontal"
  238. HorizontalAlignment="Center"
  239. VerticalAlignment="Center"
  240. Margin="20">
  241. <Button Content="{lex:Loc 下一步}"
  242. IsEnabled="{Binding IsAllowEdit}"
  243. MinWidth="100"
  244. HorizontalAlignment="Center"
  245. VerticalAlignment="Center"
  246. materialDesign:ButtonAssist.CornerRadius="10"
  247. Style="{StaticResource MaterialDesignRaisedButton}"
  248. Command="{Binding NextCommand}" />
  249. </StackPanel>
  250. </Grid>
  251. </UserControl>