CameraParams.xaml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  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. IsEnabled="{Binding IsAllowEdit}">
  76. <materialDesign:DrawerHost.RightDrawerContent>
  77. <uControl:RobotManual x:Name="robotManual"
  78. Visibility="{Binding IsHaveRobot,Converter={StaticResource BooleanToVisibilityConverter}}" />
  79. </materialDesign:DrawerHost.RightDrawerContent>
  80. <Grid>
  81. <Grid.ColumnDefinitions>
  82. <ColumnDefinition Width="auto" />
  83. <ColumnDefinition Width="*" />
  84. </Grid.ColumnDefinitions>
  85. <Expander Grid.Column="0"
  86. ExpandDirection="Right"
  87. Background="Transparent">
  88. <Expander.Header>
  89. <TextBlock RenderTransformOrigin=".5,.5"
  90. Text="Navigation Description">
  91. <TextBlock.LayoutTransform>
  92. <RotateTransform Angle="90" />
  93. </TextBlock.LayoutTransform>
  94. </TextBlock>
  95. </Expander.Header>
  96. <ScrollViewer>
  97. <StackPanel Margin="8,24,16,24"
  98. Orientation="Vertical">
  99. <Image Source="pack://application:,,,/TeamAAS-VP;component/Resources/Images/4图像采集.png"
  100. Stretch="Uniform"
  101. Width="350"
  102. HorizontalAlignment="Center"
  103. VerticalAlignment="Top" />
  104. <TextBlock Text="{lex:Loc 图像源配置}" />
  105. <TextBlock Foreground="Gray"
  106. TextWrapping="Wrap"
  107. Text="{lex:Loc 图像源配置描述}" />
  108. </StackPanel>
  109. </ScrollViewer>
  110. </Expander>
  111. <Grid Grid.Column="1">
  112. <Grid.ColumnDefinitions>
  113. <ColumnDefinition Width="*" />
  114. <ColumnDefinition Width="auto" />
  115. </Grid.ColumnDefinitions>
  116. <Grid Grid.Column="1">
  117. <Grid.RowDefinitions>
  118. <RowDefinition Height="auto" />
  119. <RowDefinition Height="auto" />
  120. <RowDefinition Height="auto" />
  121. <RowDefinition Height="auto" />
  122. </Grid.RowDefinitions>
  123. <Grid.ColumnDefinitions>
  124. <ColumnDefinition Width="auto" />
  125. <ColumnDefinition Width="*" />
  126. </Grid.ColumnDefinitions>
  127. <ToggleButton Grid.Column="1"
  128. HorizontalAlignment="Right"
  129. VerticalAlignment="Top"
  130. Visibility="{Binding IsHaveRobot,Converter={StaticResource BooleanToVisibilityConverter}}"
  131. materialDesign:ToggleButtonAssist.OnContent="{materialDesign:PackIcon Kind=ArrowRight}"
  132. Content="{materialDesign:PackIcon Kind=RobotIndustrial}"
  133. Style="{StaticResource MaterialDesignActionToggleButton}"
  134. ToolTip="{lex:Loc 机器人步进}"
  135. Margin="5,0"
  136. IsChecked="{Binding IsRightDrawerOpen,ElementName=DrawerHost}" />
  137. <TextBlock Text="{lex:Loc 相机参数设置}"
  138. Grid.Row="1"
  139. FontWeight="Bold"
  140. Margin="10"
  141. Grid.ColumnSpan="2" />
  142. <TextBlock Grid.Row="2"
  143. Grid.Column="0"
  144. Margin="5"
  145. VerticalAlignment="Center"
  146. Text="{lex:Loc 曝光时间,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}" />
  147. <mah:NumericUpDown Grid.Row="2"
  148. Grid.Column="1"
  149. Margin="5"
  150. Minimum="35"
  151. Maximum="999985"
  152. Interval="35"
  153. StringFormat="{}{0:N0} us"
  154. Value="{Binding ExposureTime,Mode=TwoWay}" />
  155. <TextBlock Grid.Row="3"
  156. Grid.Column="0"
  157. Margin="5"
  158. VerticalAlignment="Center"
  159. Text="{lex:Loc 增益,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}" />
  160. <mah:NumericUpDown Grid.Row="3"
  161. Grid.Column="1"
  162. Margin="5"
  163. Minimum="0"
  164. Maximum="63"
  165. Interval="1"
  166. StringFormat="{}{0:N2} db"
  167. Value="{Binding Gain,Mode=TwoWay}" />
  168. </Grid>
  169. <wf:WindowsFormsHost Grid.Column="0"
  170. Margin="0,40">
  171. <vp:CogRecordDisplay x:Name="display" />
  172. </wf:WindowsFormsHost>
  173. <StackPanel Orientation="Horizontal"
  174. Grid.Column="0"
  175. Margin="5"
  176. Visibility="{Binding IsHaveFeeder,Converter={StaticResource BooleanToVisibilityConverter}}"
  177. VerticalAlignment="Top">
  178. <TextBlock Text="{lex:Loc 光源亮度,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
  179. Margin="5,0"
  180. VerticalAlignment="Center" />
  181. <Button Width="25"
  182. Height="25"
  183. Margin="5,0"
  184. Content="{materialDesign:PackIcon Kind=Minus}"
  185. Style="{StaticResource MaterialDesignIconForegroundButton}"
  186. Command="{Binding LightValueSubCommand}"/>
  187. <Slider x:Name="lightSlider"
  188. Maximum="100"
  189. Minimum="1"
  190. Width="100"
  191. Value="{Binding SelectProcedure.LightValue}"
  192. Height="20"
  193. VerticalAlignment="Center">
  194. <b:Interaction.Triggers>
  195. <b:EventTrigger EventName="ValueChanged">
  196. <b:InvokeCommandAction Command="{Binding LightValueChangedCommand}"
  197. CommandParameter="{Binding ElementName=lightSlider,Path=Value}" />
  198. </b:EventTrigger>
  199. </b:Interaction.Triggers>
  200. </Slider>
  201. <Button Width="25"
  202. Height="25"
  203. Margin="5,0"
  204. Content="{materialDesign:PackIcon Kind=Plus}"
  205. Style="{StaticResource MaterialDesignIconForegroundButton}"
  206. Command="{Binding LightValueAddCommand}" />
  207. <TextBlock Text="{Binding ElementName=lightSlider,Path=Value,Mode=TwoWay,StringFormat={}{0:F0}}"
  208. VerticalAlignment="Center" />
  209. </StackPanel>
  210. <StackPanel Grid.Column="0"
  211. HorizontalAlignment="Left"
  212. VerticalAlignment="Bottom"
  213. Orientation="Horizontal">
  214. <Button Grid.Column="0"
  215. Content="{lex:Loc 开始采集}"
  216. IsEnabled="{Binding IsAllowEdit}"
  217. MinWidth="100"
  218. materialDesign:ButtonAssist.CornerRadius="10"
  219. Style="{StaticResource MaterialDesignRaisedButton}"
  220. Command="{Binding StartGrabbingCommand}" />
  221. <Button Grid.Column="0"
  222. Content="{lex:Loc 停止采集}"
  223. IsEnabled="{Binding IsAllowEdit}"
  224. MinWidth="100"
  225. Margin="10,0"
  226. materialDesign:ButtonAssist.CornerRadius="10"
  227. Style="{StaticResource MaterialDesignRaisedButton}"
  228. Command="{Binding StopGrabbingCommand}" />
  229. <TextBlock Text="{Binding Message}" VerticalAlignment="Center" Foreground="Gray"/>
  230. </StackPanel>
  231. </Grid>
  232. </Grid>
  233. </materialDesign:DrawerHost>
  234. <StackPanel Grid.Row="2"
  235. Orientation="Horizontal"
  236. HorizontalAlignment="Center"
  237. VerticalAlignment="Center"
  238. Margin="20">
  239. <Button Content="{lex:Loc 下一步}"
  240. IsEnabled="{Binding IsAllowEdit}"
  241. MinWidth="100"
  242. HorizontalAlignment="Center"
  243. VerticalAlignment="Center"
  244. materialDesign:ButtonAssist.CornerRadius="10"
  245. Style="{StaticResource MaterialDesignRaisedButton}"
  246. Command="{Binding NextCommand}" />
  247. </StackPanel>
  248. </Grid>
  249. </UserControl>