PlcPointParams.xaml 102 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468
  1. <UserControl x:Class="TeamAAS_VP.Views.Product.PlcPointParams"
  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:b="http://schemas.microsoft.com/xaml/behaviors"
  9. xmlns:sys="clr-namespace:System;assembly=mscorlib"
  10. xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
  11. xmlns:enums="clr-namespace:TeamAAS_VP.Enums"
  12. xmlns:uControl="clr-namespace:TeamAAS_VP.Controls"
  13. xmlns:convert="clr-namespace:TeamAAS_VP.ValueConverter"
  14. xmlns:local="clr-namespace:TeamAAS_VP.Views.Product"
  15. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  16. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  17. xmlns:vm="clr-namespace:TeamAAS_VP.ViewModels.Product"
  18. xmlns:ext="clr-namespace:TeamAAS_VP.Extension"
  19. xmlns:lex="http://wpflocalizeextension.codeplex.com"
  20. xmlns:localRobot="clr-namespace:TeamAAS_VP.Models.Robot"
  21. lex:LocalizeDictionary.DesignCulture="zh-CN"
  22. lex:ResxLocalizationProvider.DefaultAssembly="TeamAAS-VP"
  23. lex:ResxLocalizationProvider.DefaultDictionary="Lang"
  24. prism:ViewModelLocator.AutoWireViewModel="True"
  25. mc:Ignorable="d"
  26. d:DataContext="{d:DesignInstance Type=vm:PlcPointParamsViewModel}"
  27. d:Height="600"
  28. d:Width="1024"
  29. d:Background="White"
  30. FontFamily="{DynamicResource DefaultFont}">
  31. <b:Interaction.Triggers>
  32. <b:EventTrigger EventName="Loaded">
  33. <b:InvokeCommandAction Command="{Binding LoadedCommand}" />
  34. </b:EventTrigger>
  35. </b:Interaction.Triggers>
  36. <UserControl.Resources>
  37. <ObjectDataProvider x:Key="eRobotHand"
  38. MethodName="GetValues"
  39. ObjectType="{x:Type sys:Enum}">
  40. <ObjectDataProvider.MethodParameters>
  41. <x:Type TypeName="enums:RobotHand" />
  42. </ObjectDataProvider.MethodParameters>
  43. </ObjectDataProvider>
  44. <ObjectDataProvider x:Key="eMotionCommand"
  45. MethodName="GetValues"
  46. ObjectType="{x:Type sys:Enum}">
  47. <ObjectDataProvider.MethodParameters>
  48. <x:Type TypeName="enums:MotionCommand" />
  49. </ObjectDataProvider.MethodParameters>
  50. </ObjectDataProvider>
  51. <convert:JogConverter x:Key="JogConverter" />
  52. <convert:MultiParameterConverter x:Key="MultiParameterConverter" />
  53. <convert:RobotConverter x:Key="RobotConverter" />
  54. </UserControl.Resources>
  55. <Grid>
  56. <Grid.RowDefinitions>
  57. <RowDefinition Height="auto" />
  58. <RowDefinition Height="*" />
  59. <RowDefinition Height="auto" />
  60. </Grid.RowDefinitions>
  61. <Button Grid.Row="0"
  62. Content="{materialDesign:PackIcon Kind=ArrowLeftCircle}"
  63. Width="50"
  64. HorizontalAlignment="Left"
  65. VerticalAlignment="Top"
  66. ToolTip="{lex:Loc 返回}"
  67. Style="{StaticResource MaterialDesignIconButton}"
  68. Command="{Binding BackCommand}" />
  69. <StackPanel Grid.Row="0"
  70. Orientation="Horizontal"
  71. Margin="50,0"
  72. VerticalAlignment="Center">
  73. <materialDesign:PackIcon Kind="CubeOutline"
  74. Width="30"
  75. Height="30" />
  76. <TextBlock Text="{Binding SelectProduct.Name}"
  77. VerticalAlignment="Center" />
  78. <TextBlock Text="{lex:Loc 机器人点位,Converter={StaticResource StringFormatConverter},ConverterParameter=' - {0}'}"
  79. VerticalAlignment="Center" />
  80. </StackPanel>
  81. <Button Grid.Row="0"
  82. Margin="5,3"
  83. HorizontalAlignment="Right"
  84. VerticalAlignment="Center"
  85. Content="动态精度分析"
  86. MinWidth="100"
  87. Command="{Binding DynamicTestAnalyzerCommand}" />
  88. <Border BorderThickness="1,1,1,1"
  89. VerticalAlignment="Bottom"
  90. Height="1">
  91. <Border.BorderBrush>
  92. <VisualBrush>
  93. <VisualBrush.Visual>
  94. <Rectangle StrokeDashArray="4 4"
  95. Stroke="LightGray"
  96. StrokeThickness="1"
  97. Width="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualWidth}"
  98. Height="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualHeight}" />
  99. </VisualBrush.Visual>
  100. </VisualBrush>
  101. </Border.BorderBrush>
  102. </Border>
  103. <materialDesign:DrawerHost Grid.Row="1"
  104. OpenMode="Standard"
  105. x:Name="DrawerHost"
  106. IsLeftDrawerOpen="{Binding IsLeftDrawerOpen,Mode=TwoWay}"
  107. d:IsLeftDrawerOpen="false"
  108. IsEnabled="{Binding IsAllowEdit}">
  109. <materialDesign:DrawerHost.LeftDrawerContent>
  110. <Grid Width="600">
  111. <Grid.RowDefinitions>
  112. <RowDefinition Height="*" />
  113. <RowDefinition Height=" auto" />
  114. </Grid.RowDefinitions>
  115. <wf:WindowsFormsHost Grid.Row="0"
  116. Margin="0,40">
  117. <vp:CogRecordDisplay x:Name="display" />
  118. </wf:WindowsFormsHost>
  119. <StackPanel Grid.Row="1"
  120. HorizontalAlignment="Left"
  121. VerticalAlignment="Bottom"
  122. Orientation="Horizontal">
  123. <TextBlock Text="{lex:Loc 相机,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
  124. FontWeight="Bold"
  125. VerticalAlignment="Center" />
  126. <ComboBox Margin="5,0,10,0"
  127. IsEnabled="{Binding IsGrap,Converter={StaticResource InvertBooleanConverter}}"
  128. ItemsSource="{Binding CameraList}"
  129. SelectedItem="{Binding SelectedCamera}"
  130. materialDesign:HintAssist.Hint="{lex:Loc 选择相机}">
  131. <ComboBox.ItemTemplate>
  132. <DataTemplate>
  133. <StackPanel Orientation="Horizontal">
  134. <materialDesign:PackIcon Kind="Camera" />
  135. <TextBlock Text="{Binding CameraName}"
  136. Margin="6,0" />
  137. </StackPanel>
  138. </DataTemplate>
  139. </ComboBox.ItemTemplate>
  140. </ComboBox>
  141. <Button Grid.Column="0"
  142. Content="{lex:Loc 开始采集}"
  143. MinWidth="100"
  144. materialDesign:ButtonAssist.CornerRadius="10"
  145. Style="{StaticResource MaterialDesignRaisedButton}"
  146. Command="{Binding StartGrabbingCommand}" />
  147. <Button Grid.Column="0"
  148. Content="{lex:Loc 停止采集}"
  149. IsEnabled="{Binding IsAllowEdit}"
  150. MinWidth="100"
  151. Margin="10,0"
  152. materialDesign:ButtonAssist.CornerRadius="10"
  153. Style="{StaticResource MaterialDesignRaisedButton}"
  154. Command="{Binding StopGrabbingCommand}" />
  155. <TextBlock Text="{Binding Message}"
  156. VerticalAlignment="Center"
  157. Foreground="Gray" />
  158. </StackPanel>
  159. </Grid>
  160. </materialDesign:DrawerHost.LeftDrawerContent>
  161. <Grid>
  162. <Grid.ColumnDefinitions>
  163. <ColumnDefinition Width="auto" />
  164. <ColumnDefinition Width="*" />
  165. </Grid.ColumnDefinitions>
  166. <Expander Grid.Column="0"
  167. ExpandDirection="Right"
  168. Background="Transparent">
  169. <Expander.Header>
  170. <TextBlock RenderTransformOrigin=".5,.5"
  171. Text="Navigation Description">
  172. <TextBlock.LayoutTransform>
  173. <RotateTransform Angle="90" />
  174. </TextBlock.LayoutTransform>
  175. </TextBlock>
  176. </Expander.Header>
  177. <ScrollViewer>
  178. <StackPanel Margin="8,24,16,24"
  179. Orientation="Vertical">
  180. <Image Source="pack://application:,,,/TeamAAS-VP;component/Resources/Images/9机器人点位.png"
  181. Stretch="Uniform"
  182. Width="350"
  183. HorizontalAlignment="Center"
  184. VerticalAlignment="Top" />
  185. <TextBlock Text="{lex:Loc 机器人点位示教}" />
  186. <TextBlock Foreground="Gray"
  187. TextWrapping="Wrap"
  188. Text="{lex:Loc 机器人点位示教描述}" />
  189. </StackPanel>
  190. </ScrollViewer>
  191. </Expander>
  192. <Grid Grid.Column="1">
  193. <Grid.ColumnDefinitions>
  194. <ColumnDefinition Width="*" />
  195. <ColumnDefinition Width="auto" />
  196. </Grid.ColumnDefinitions>
  197. <DockPanel Grid.Column="0">
  198. <!--选项列表-->
  199. <ListBox Height="80"
  200. DockPanel.Dock="Top"
  201. d:SelectedIndex="0"
  202. SelectedIndex="{Binding SelectedIndex}"
  203. Style="{StaticResource MaterialDesign3.NavigationBarPrimaryListBox}">
  204. <b:Interaction.Triggers>
  205. <b:EventTrigger EventName="SelectionChanged">
  206. <b:InvokeCommandAction Command="{Binding SelectionChangedCommand}" />
  207. </b:EventTrigger>
  208. </b:Interaction.Triggers>
  209. <!--取料拍照点位-->
  210. <ListBoxItem>
  211. <ListBoxItem.Style>
  212. <Style TargetType="ListBoxItem"
  213. BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}">
  214. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon"
  215. Value="Circle" />
  216. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon"
  217. Value="CircleOutline" />
  218. </Style>
  219. </ListBoxItem.Style>
  220. <TextBlock Text="取料拍照点位" />
  221. </ListBoxItem>
  222. <!--取料点位-->
  223. <ListBoxItem>
  224. <ListBoxItem.Style>
  225. <Style TargetType="ListBoxItem"
  226. BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}">
  227. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon"
  228. Value="Circle" />
  229. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon"
  230. Value="CircleOutline" />
  231. </Style>
  232. </ListBoxItem.Style>
  233. <TextBlock Text="取料点位" />
  234. </ListBoxItem>
  235. <!--下相机二次定位点位-->
  236. <ListBoxItem>
  237. <ListBoxItem.Style>
  238. <Style TargetType="ListBoxItem"
  239. BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}">
  240. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon"
  241. Value="Circle" />
  242. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon"
  243. Value="CircleOutline" />
  244. </Style>
  245. </ListBoxItem.Style>
  246. <TextBlock Text="下相机二次定位点位" />
  247. </ListBoxItem>
  248. <!--锁附拍照点位-->
  249. <ListBoxItem>
  250. <ListBoxItem.Style>
  251. <Style TargetType="ListBoxItem"
  252. BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}">
  253. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon"
  254. Value="Circle" />
  255. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon"
  256. Value="CircleOutline" />
  257. </Style>
  258. </ListBoxItem.Style>
  259. <TextBlock Text="产品拍照点位" />
  260. </ListBoxItem>
  261. <!--锁附点位-->
  262. <ListBoxItem>
  263. <ListBoxItem.Style>
  264. <Style TargetType="ListBoxItem"
  265. BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}">
  266. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon"
  267. Value="Circle" />
  268. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon"
  269. Value="CircleOutline" />
  270. </Style>
  271. </ListBoxItem.Style>
  272. <TextBlock Text="产品贴附点位" />
  273. </ListBoxItem>
  274. <!--复检点位-->
  275. <ListBoxItem>
  276. <ListBoxItem.Style>
  277. <Style TargetType="ListBoxItem"
  278. BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}">
  279. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon"
  280. Value="Circle" />
  281. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon"
  282. Value="CircleOutline" />
  283. </Style>
  284. </ListBoxItem.Style>
  285. <TextBlock Text="复检点位" />
  286. </ListBoxItem>
  287. <!--撕膜点位-->
  288. <ListBoxItem>
  289. <ListBoxItem.Style>
  290. <Style TargetType="ListBoxItem"
  291. BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}">
  292. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon"
  293. Value="Circle" />
  294. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon"
  295. Value="CircleOutline" />
  296. </Style>
  297. </ListBoxItem.Style>
  298. <TextBlock Text="撕膜点位" />
  299. </ListBoxItem>
  300. <!--压力组装点位-->
  301. <!--<ListBoxItem>
  302. <ListBoxItem.Style>
  303. <Style TargetType="ListBoxItem"
  304. BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}">
  305. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon"
  306. Value="Circle" />
  307. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon"
  308. Value="CircleOutline" />
  309. </Style>
  310. </ListBoxItem.Style>
  311. <TextBlock Text="压力组装点位" />
  312. </ListBoxItem>-->
  313. </ListBox>
  314. <!--点位列表操作按钮面板-->
  315. <StackPanel DockPanel.Dock="Bottom"
  316. Orientation="Horizontal">
  317. <Button Content="添加点"
  318. Margin="5,2"
  319. MinWidth="80"
  320. materialDesign:ButtonAssist.CornerRadius="5"
  321. Command="{Binding AddPointCommand}" />
  322. <Button Content="删除点"
  323. Margin="5,2"
  324. MinWidth="80"
  325. materialDesign:ButtonAssist.CornerRadius="5"
  326. Command="{Binding DeletePointCommand}" />
  327. <Button Content="上移"
  328. Margin="5,2"
  329. MinWidth="80"
  330. materialDesign:ButtonAssist.CornerRadius="5"
  331. Command="{Binding MovePointUpCommand}" />
  332. <Button Content="下移"
  333. Margin="5,2"
  334. MinWidth="80"
  335. materialDesign:ButtonAssist.CornerRadius="5"
  336. Command="{Binding MovePointDownCommand}" />
  337. <!--<Button Content="CAD导入点位"
  338. Margin="5,2"
  339. MinWidth="80"
  340. d:Visibility="Visible"
  341. materialDesign:ButtonAssist.CornerRadius="5"
  342. Command="{Binding ImportCadPointCommand}">
  343. <Button.Style>
  344. <Style TargetType="Button"
  345. BasedOn="{StaticResource MaterialDesignRaisedDarkButton}">
  346. <Setter Property="Visibility"
  347. Value="Collapsed" />
  348. <Style.Triggers>
  349. -->
  350. <!-- 当 SelectedIndex == 0 时显示此面板 -->
  351. <!--
  352. <DataTrigger Binding="{Binding SelectedIndex}"
  353. Value="4">
  354. <Setter Property="Visibility"
  355. Value="Visible" />
  356. </DataTrigger>
  357. </Style.Triggers>
  358. </Style>
  359. </Button.Style>
  360. </Button>-->
  361. <!--设置补偿值-->
  362. <Button Content="设置补偿值"
  363. Margin="5,2"
  364. MinWidth="80"
  365. d:Visibility="Visible"
  366. materialDesign:ButtonAssist.CornerRadius="5"
  367. Command="{Binding SetOffsetCommand}" />
  368. </StackPanel>
  369. <Border BorderBrush="LightGray"
  370. BorderThickness="1"
  371. Height="1"
  372. DockPanel.Dock="Bottom" />
  373. <DockPanel>
  374. <!--不同点位类型的操作面板-->
  375. <StackPanel DockPanel.Dock="Bottom"
  376. Orientation="Vertical">
  377. <!--取料点位面板-->
  378. <StackPanel x:Name="AutoCorrectPickPointPanel"
  379. Orientation="Vertical"
  380. d:Visibility="Visible">
  381. <StackPanel.Style>
  382. <Style TargetType="StackPanel">
  383. <Setter Property="Visibility"
  384. Value="Collapsed" />
  385. <Style.Triggers>
  386. <!--当 SelectedIndex == 1 时显示此面板-->
  387. <DataTrigger Binding="{Binding SelectedIndex}"
  388. Value="1">
  389. <Setter Property="Visibility"
  390. Value="Visible" />
  391. </DataTrigger>
  392. </Style.Triggers>
  393. </Style>
  394. </StackPanel.Style>
  395. <ScrollViewer HorizontalScrollBarVisibility="Auto"
  396. VerticalScrollBarVisibility="Disabled">
  397. <StackPanel Orientation="Vertical"
  398. HorizontalAlignment="Left">
  399. <!--<Grid>
  400. <Grid.RowDefinitions>
  401. <RowDefinition Height="auto" />
  402. <RowDefinition Height="auto" />
  403. <RowDefinition Height="auto" />
  404. <RowDefinition Height="auto" />
  405. </Grid.RowDefinitions>
  406. <Grid.ColumnDefinitions>
  407. <ColumnDefinition Width="auto" />
  408. <ColumnDefinition Width="auto" />
  409. <ColumnDefinition Width="auto" />
  410. <ColumnDefinition Width="auto" />
  411. <ColumnDefinition Width="auto" />
  412. <ColumnDefinition Width="auto" />
  413. <ColumnDefinition Width="auto" />
  414. <ColumnDefinition Width="auto" />
  415. </Grid.ColumnDefinitions>
  416. <Grid.Resources>
  417. <Style TargetType="TextBlock">
  418. <Setter Property="HorizontalAlignment"
  419. Value="Center" />
  420. <Setter Property="VerticalAlignment"
  421. Value="Center" />
  422. </Style>
  423. <Style TargetType="TextBox">
  424. <Setter Property="HorizontalAlignment"
  425. Value="Center" />
  426. <Setter Property="VerticalAlignment"
  427. Value="Center" />
  428. <Setter Property="MinWidth"
  429. Value="50" />
  430. </Style>
  431. </Grid.Resources>
  432. <TextBlock Text="X"
  433. Grid.Column="1" />
  434. <TextBlock Text="Y"
  435. Grid.Column="2" />
  436. <TextBlock Text="Z"
  437. Grid.Column="3" />
  438. <TextBlock Text="U"
  439. Grid.Column="4" />
  440. <TextBlock Text="附加轴"
  441. Grid.Column="5" />
  442. <TextBlock Text="点1:"
  443. Grid.Row="1"
  444. Grid.Column="0" />
  445. <TextBlock Text="点2:"
  446. Grid.Row="2"
  447. Grid.Column="0" />
  448. <TextBox Text="{Binding PickP1.X_Position}"
  449. Grid.Row="1"
  450. Grid.Column="1" />
  451. <TextBox Text="{Binding PickP1.Y_Position}"
  452. Grid.Row="1"
  453. Grid.Column="2" />
  454. <TextBox Text="{Binding PickP1.Z_Position_Start}"
  455. Grid.Row="1"
  456. Grid.Column="3" />
  457. <TextBox Text="{Binding PickP1.U_Position}"
  458. Grid.Row="1"
  459. Grid.Column="4" />
  460. <TextBox Text="{Binding PickP1.Z_Position_Stop}"
  461. Grid.Row="1"
  462. Grid.Column="5" />
  463. <Button Content="示教"
  464. Grid.Row="1"
  465. Grid.Column="6"
  466. Margin="5,0"
  467. Command="{Binding PickTechCommand}"
  468. CommandParameter="1" />
  469. <Button Content="移动"
  470. Grid.Row="1"
  471. Grid.Column="7"
  472. Command="{Binding PickMoveCommand}"
  473. CommandParameter="1" />
  474. <TextBox Text="{Binding PickP2.X_Position}"
  475. Grid.Row="2"
  476. Grid.Column="1" />
  477. <TextBox Text="{Binding PickP2.Y_Position}"
  478. Grid.Row="2"
  479. Grid.Column="2" />
  480. <TextBox Text="{Binding PickP2.Z_Position_Start}"
  481. Grid.Row="2"
  482. Grid.Column="3" />
  483. <TextBox Text="{Binding PickP2.U_Position}"
  484. Grid.Row="2"
  485. Grid.Column="4" />
  486. <TextBox Text="{Binding PickP2.Z_Position_Stop}"
  487. Grid.Row="2"
  488. Grid.Column="5" />
  489. <Button Content="示教"
  490. Grid.Row="2"
  491. Grid.Column="6"
  492. Margin="5,0"
  493. Command="{Binding PickTechCommand}"
  494. CommandParameter="2" />
  495. <Button Content="移动"
  496. Grid.Row="2"
  497. Grid.Column="7"
  498. Command="{Binding PickMoveCommand}"
  499. CommandParameter="2" />
  500. <TextBlock Text="列数:"
  501. Grid.Row="3"
  502. Grid.Column="0" />
  503. <TextBox Text="{Binding ColumnNum}"
  504. Grid.Row="3"
  505. Grid.Column="1" />
  506. <Button Content="计算取料点"
  507. Grid.Row="3"
  508. Grid.ColumnSpan="4"
  509. Margin="5,0"
  510. HorizontalAlignment="Left"
  511. Grid.Column="2"
  512. Command="{Binding CalPickPosCommand}" />
  513. </Grid>-->
  514. <StackPanel Orientation="Horizontal">
  515. <TextBlock Text="吸真空编号:"
  516. VerticalAlignment="Center" />
  517. <mah:NumericUpDown MinWidth="100"
  518. HorizontalContentAlignment="Center"
  519. VerticalContentAlignment="Center"
  520. Minimum="0"
  521. Maximum="100"
  522. Value="{Binding Inhal,Mode=OneWay}"
  523. Margin="5,0,0,0" />
  524. <Button Content="执行取料"
  525. Margin="10,0,0,0"
  526. materialDesign:ButtonAssist.CornerRadius="5"
  527. Command="{Binding GoPickCommand}" />
  528. </StackPanel>
  529. </StackPanel>
  530. </ScrollViewer>
  531. </StackPanel>
  532. <!--下相机二次定位-->
  533. <StackPanel x:Name="DownCameraRepositionPanel"
  534. Orientation="Vertical"
  535. d:Visibility="Visible">
  536. <StackPanel.Style>
  537. <Style TargetType="StackPanel">
  538. <Setter Property="Visibility"
  539. Value="Collapsed" />
  540. <Style.Triggers>
  541. <!--当 SelectedIndex == 2 时显示此面板-->
  542. <DataTrigger Binding="{Binding SelectedIndex}"
  543. Value="2">
  544. <Setter Property="Visibility"
  545. Value="Visible" />
  546. </DataTrigger>
  547. </Style.Triggers>
  548. </Style>
  549. </StackPanel.Style>
  550. <ScrollViewer HorizontalScrollBarVisibility="Auto"
  551. VerticalScrollBarVisibility="Disabled">
  552. <StackPanel Orientation="Horizontal"
  553. HorizontalAlignment="Left">
  554. <Button Content="执行二次定位"
  555. Margin="10,0,0,0"
  556. materialDesign:ButtonAssist.CornerRadius="5"
  557. Command="{Binding GoRepositionCommand}" />
  558. </StackPanel>
  559. </ScrollViewer>
  560. </StackPanel>
  561. <!--产品拍照-->
  562. <StackPanel Orientation="Vertical"
  563. d:Visibility="Visible">
  564. <StackPanel.Style>
  565. <Style TargetType="StackPanel">
  566. <Setter Property="Visibility"
  567. Value="Collapsed" />
  568. <Style.Triggers>
  569. <!--当 SelectedIndex == 3 时显示此面板-->
  570. <DataTrigger Binding="{Binding SelectedIndex}"
  571. Value="3">
  572. <Setter Property="Visibility"
  573. Value="Visible" />
  574. </DataTrigger>
  575. </Style.Triggers>
  576. </Style>
  577. </StackPanel.Style>
  578. <ScrollViewer HorizontalScrollBarVisibility="Auto"
  579. VerticalScrollBarVisibility="Disabled">
  580. <StackPanel Orientation="Horizontal"
  581. HorizontalAlignment="Left">
  582. <Button Content="执行产品拍照"
  583. Margin="10,0,0,0"
  584. materialDesign:ButtonAssist.CornerRadius="5"
  585. Command="{Binding TakeProductPhotoCommand}" />
  586. </StackPanel>
  587. </ScrollViewer>
  588. </StackPanel>
  589. </StackPanel>
  590. <!--点位表-->
  591. <DataGrid x:Name="dgPoints"
  592. AutoGenerateColumns="False"
  593. CanUserAddRows="False"
  594. CanUserDeleteRows="False"
  595. ColumnWidth="*"
  596. SelectionUnit="FullRow"
  597. SelectionMode="Single"
  598. SelectedItem="{Binding SelectedPointInDataGrid,Mode=TwoWay}"
  599. ItemsSource="{Binding Points}"
  600. HeadersVisibility="Column"
  601. HorizontalScrollBarVisibility="Auto"
  602. ScrollViewer.CanContentScroll="True"
  603. ScrollViewer.HorizontalScrollBarVisibility="Auto"
  604. GridLinesVisibility="All"
  605. VerticalGridLinesBrush="#D0D0D0">
  606. <DataGrid.Resources>
  607. <Style TargetType="DataGridCell">
  608. <Style.Resources>
  609. <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}"
  610. Color="#0078D7" />
  611. </Style.Resources>
  612. <Setter Property="MinHeight"
  613. Value="25" />
  614. <Setter Property="VerticalContentAlignment"
  615. Value="Center" />
  616. <Setter Property="HorizontalContentAlignment"
  617. Value="Center" />
  618. <Setter Property="VerticalAlignment"
  619. Value="Center" />
  620. <Setter Property="TextBlock.TextAlignment"
  621. Value="Center" />
  622. <Setter Property="Padding"
  623. Value="0" />
  624. <Style.Triggers>
  625. <Trigger Property="IsSelected"
  626. Value="True">
  627. <Setter Property="Foreground"
  628. Value="White" />
  629. </Trigger>
  630. </Style.Triggers>
  631. </Style>
  632. <!-- 为 TextBlock 添加默认居中样式 -->
  633. <Style TargetType="TextBlock">
  634. <Setter Property="TextAlignment"
  635. Value="Center" />
  636. <Setter Property="HorizontalAlignment"
  637. Value="Center" />
  638. <Setter Property="VerticalAlignment"
  639. Value="Center" />
  640. </Style>
  641. </DataGrid.Resources>
  642. <DataGrid.Columns>
  643. <DataGridTextColumn Header="{lex:Loc 编号}"
  644. IsReadOnly="True"
  645. MinWidth="60"
  646. Width="Auto"
  647. Binding="{Binding Number, Mode=TwoWay, StringFormat={}{0:F0}}">
  648. </DataGridTextColumn>
  649. <DataGridTextColumn Header="{lex:Loc 标签}"
  650. MinWidth="100"
  651. Width="Auto"
  652. Binding="{Binding Label, Mode=TwoWay}" />
  653. <!--X 坐标-->
  654. <DataGridTemplateColumn Header="X位置"
  655. MinWidth="60"
  656. Width="Auto">
  657. <DataGridTemplateColumn.CellTemplate>
  658. <DataTemplate>
  659. <TextBlock Text="{Binding X_Position, StringFormat={}{0:F3}}"
  660. HorizontalAlignment="Center"
  661. VerticalAlignment="Center" />
  662. </DataTemplate>
  663. </DataGridTemplateColumn.CellTemplate>
  664. <DataGridTemplateColumn.CellEditingTemplate>
  665. <DataTemplate>
  666. <mah:NumericUpDown Value="{Binding X_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  667. Minimum="-9999.000"
  668. Maximum="9999.000"
  669. Interval="0.1"
  670. StringFormat="F3"
  671. HorizontalAlignment="Stretch"
  672. VerticalAlignment="Center"
  673. Margin="0"
  674. Padding="2" />
  675. </DataTemplate>
  676. </DataGridTemplateColumn.CellEditingTemplate>
  677. </DataGridTemplateColumn>
  678. <!--X 速度-->
  679. <DataGridTemplateColumn Header="X速度"
  680. MinWidth="60"
  681. Width="Auto">
  682. <DataGridTemplateColumn.CellTemplate>
  683. <DataTemplate>
  684. <TextBlock Text="{Binding X_Velocity, StringFormat={}{0:F0}}"
  685. HorizontalAlignment="Center"
  686. VerticalAlignment="Center" />
  687. </DataTemplate>
  688. </DataGridTemplateColumn.CellTemplate>
  689. <DataGridTemplateColumn.CellEditingTemplate>
  690. <DataTemplate>
  691. <mah:NumericUpDown Value="{Binding X_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  692. Minimum="0"
  693. Maximum="9999.000"
  694. Interval="1"
  695. StringFormat="F3"
  696. HorizontalAlignment="Stretch"
  697. VerticalAlignment="Center"
  698. Margin="0"
  699. Padding="2" />
  700. </DataTemplate>
  701. </DataGridTemplateColumn.CellEditingTemplate>
  702. </DataGridTemplateColumn>
  703. <!--Y 坐标-->
  704. <DataGridTemplateColumn Header="Y位置"
  705. MinWidth="60"
  706. Width="Auto">
  707. <DataGridTemplateColumn.CellTemplate>
  708. <DataTemplate>
  709. <TextBlock Text="{Binding Y_Position, StringFormat={}{0:F3}}"
  710. HorizontalAlignment="Center"
  711. VerticalAlignment="Center" />
  712. </DataTemplate>
  713. </DataGridTemplateColumn.CellTemplate>
  714. <DataGridTemplateColumn.CellEditingTemplate>
  715. <DataTemplate>
  716. <mah:NumericUpDown Value="{Binding Y_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  717. Minimum="-9999.000"
  718. Maximum="9999.000"
  719. Interval="0.1"
  720. StringFormat="F3"
  721. HorizontalAlignment="Stretch"
  722. VerticalAlignment="Center"
  723. Margin="0"
  724. Padding="2" />
  725. </DataTemplate>
  726. </DataGridTemplateColumn.CellEditingTemplate>
  727. </DataGridTemplateColumn>
  728. <!--Y 速度-->
  729. <DataGridTemplateColumn Header="Y速度"
  730. MinWidth="60"
  731. Width="Auto">
  732. <DataGridTemplateColumn.CellTemplate>
  733. <DataTemplate>
  734. <TextBlock Text="{Binding Y_Velocity, StringFormat={}{0:F0}}"
  735. HorizontalAlignment="Center"
  736. VerticalAlignment="Center" />
  737. </DataTemplate>
  738. </DataGridTemplateColumn.CellTemplate>
  739. <DataGridTemplateColumn.CellEditingTemplate>
  740. <DataTemplate>
  741. <mah:NumericUpDown Value="{Binding Y_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  742. Minimum="0"
  743. Maximum="9999.000"
  744. Interval="1"
  745. StringFormat="F3"
  746. HorizontalAlignment="Stretch"
  747. VerticalAlignment="Center"
  748. Margin="0"
  749. Padding="2" />
  750. </DataTemplate>
  751. </DataGridTemplateColumn.CellEditingTemplate>
  752. </DataGridTemplateColumn>
  753. <!--Z 起点坐标-->
  754. <DataGridTemplateColumn Header="Z起点位置"
  755. MinWidth="60"
  756. Width="Auto">
  757. <DataGridTemplateColumn.CellTemplate>
  758. <DataTemplate>
  759. <TextBlock Text="{Binding Z_Position_Start, StringFormat={}{0:F3}}"
  760. HorizontalAlignment="Center"
  761. VerticalAlignment="Center" />
  762. </DataTemplate>
  763. </DataGridTemplateColumn.CellTemplate>
  764. <DataGridTemplateColumn.CellEditingTemplate>
  765. <DataTemplate>
  766. <mah:NumericUpDown Value="{Binding Z_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  767. Minimum="-9999.000"
  768. Maximum="9999.000"
  769. Interval="0.1"
  770. StringFormat="F3"
  771. HorizontalAlignment="Stretch"
  772. VerticalAlignment="Center"
  773. Margin="0"
  774. Padding="2" />
  775. </DataTemplate>
  776. </DataGridTemplateColumn.CellEditingTemplate>
  777. </DataGridTemplateColumn>
  778. <!--Z 起点速度-->
  779. <DataGridTemplateColumn Header="Z起点速度"
  780. MinWidth="60"
  781. Width="Auto">
  782. <DataGridTemplateColumn.CellTemplate>
  783. <DataTemplate>
  784. <TextBlock Text="{Binding Z_Velocity_Start, StringFormat={}{0:F0}}"
  785. HorizontalAlignment="Center"
  786. VerticalAlignment="Center" />
  787. </DataTemplate>
  788. </DataGridTemplateColumn.CellTemplate>
  789. <DataGridTemplateColumn.CellEditingTemplate>
  790. <DataTemplate>
  791. <mah:NumericUpDown Value="{Binding Z_Velocity_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  792. Minimum="0"
  793. Maximum="9999.000"
  794. Interval="1"
  795. StringFormat="F3"
  796. HorizontalAlignment="Stretch"
  797. VerticalAlignment="Center"
  798. Margin="0"
  799. Padding="2" />
  800. </DataTemplate>
  801. </DataGridTemplateColumn.CellEditingTemplate>
  802. </DataGridTemplateColumn>
  803. <!--Z 终点坐标-->
  804. <DataGridTemplateColumn Header="Z终点位置"
  805. MinWidth="60"
  806. Width="Auto">
  807. <DataGridTemplateColumn.CellTemplate>
  808. <DataTemplate>
  809. <TextBlock Text="{Binding Z_Position_Stop, StringFormat={}{0:F3}}"
  810. HorizontalAlignment="Center"
  811. VerticalAlignment="Center" />
  812. </DataTemplate>
  813. </DataGridTemplateColumn.CellTemplate>
  814. <DataGridTemplateColumn.CellEditingTemplate>
  815. <DataTemplate>
  816. <mah:NumericUpDown Value="{Binding Z_Position_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  817. Minimum="-9999.000"
  818. Maximum="9999.000"
  819. Interval="0.1"
  820. StringFormat="F3"
  821. HorizontalAlignment="Stretch"
  822. VerticalAlignment="Center"
  823. Margin="0"
  824. Padding="2" />
  825. </DataTemplate>
  826. </DataGridTemplateColumn.CellEditingTemplate>
  827. </DataGridTemplateColumn>
  828. <!--Z 终点速度-->
  829. <DataGridTemplateColumn Header="Z终点速度"
  830. MinWidth="60"
  831. Width="Auto">
  832. <DataGridTemplateColumn.CellTemplate>
  833. <DataTemplate>
  834. <TextBlock Text="{Binding Z_Velocity_Stop, StringFormat={}{0:F0}}"
  835. HorizontalAlignment="Center"
  836. VerticalAlignment="Center" />
  837. </DataTemplate>
  838. </DataGridTemplateColumn.CellTemplate>
  839. <DataGridTemplateColumn.CellEditingTemplate>
  840. <DataTemplate>
  841. <mah:NumericUpDown Value="{Binding Z_Velocity_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  842. Minimum="0"
  843. Maximum="9999.000"
  844. Interval="1"
  845. StringFormat="F3"
  846. HorizontalAlignment="Stretch"
  847. VerticalAlignment="Center"
  848. Margin="0"
  849. Padding="2" />
  850. </DataTemplate>
  851. </DataGridTemplateColumn.CellEditingTemplate>
  852. </DataGridTemplateColumn>
  853. <!--U 坐标-->
  854. <DataGridTemplateColumn Header="U位置"
  855. MinWidth="60"
  856. Width="Auto">
  857. <DataGridTemplateColumn.CellTemplate>
  858. <DataTemplate>
  859. <TextBlock Text="{Binding U_Position, StringFormat={}{0:F3}}"
  860. HorizontalAlignment="Center"
  861. VerticalAlignment="Center" />
  862. </DataTemplate>
  863. </DataGridTemplateColumn.CellTemplate>
  864. <DataGridTemplateColumn.CellEditingTemplate>
  865. <DataTemplate>
  866. <mah:NumericUpDown Value="{Binding U_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  867. Minimum="-9999.000"
  868. Maximum="9999.000"
  869. Interval="0.1"
  870. StringFormat="F3"
  871. HorizontalAlignment="Stretch"
  872. VerticalAlignment="Center"
  873. Margin="0"
  874. Padding="2" />
  875. </DataTemplate>
  876. </DataGridTemplateColumn.CellEditingTemplate>
  877. </DataGridTemplateColumn>
  878. <!--U 速度-->
  879. <DataGridTemplateColumn Header="U速度"
  880. MinWidth="60"
  881. Width="Auto">
  882. <DataGridTemplateColumn.CellTemplate>
  883. <DataTemplate>
  884. <TextBlock Text="{Binding U_Velocity, StringFormat={}{0:F0}}"
  885. HorizontalAlignment="Center"
  886. VerticalAlignment="Center" />
  887. </DataTemplate>
  888. </DataGridTemplateColumn.CellTemplate>
  889. <DataGridTemplateColumn.CellEditingTemplate>
  890. <DataTemplate>
  891. <mah:NumericUpDown Value="{Binding U_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  892. Minimum="0"
  893. Maximum="9999.000"
  894. Interval="1"
  895. StringFormat="F3"
  896. HorizontalAlignment="Stretch"
  897. VerticalAlignment="Center"
  898. Margin="0"
  899. Padding="2" />
  900. </DataTemplate>
  901. </DataGridTemplateColumn.CellEditingTemplate>
  902. </DataGridTemplateColumn>
  903. <!--R 坐标-->
  904. <DataGridTemplateColumn Header="R位置"
  905. MinWidth="60"
  906. Width="Auto">
  907. <DataGridTemplateColumn.CellTemplate>
  908. <DataTemplate>
  909. <TextBlock Text="{Binding R_Position, StringFormat={}{0:F3}}"
  910. HorizontalAlignment="Center"
  911. VerticalAlignment="Center" />
  912. </DataTemplate>
  913. </DataGridTemplateColumn.CellTemplate>
  914. <DataGridTemplateColumn.CellEditingTemplate>
  915. <DataTemplate>
  916. <mah:NumericUpDown Value="{Binding R_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  917. Minimum="-9999.000"
  918. Maximum="9999.000"
  919. Interval="0.1"
  920. StringFormat="F3"
  921. HorizontalAlignment="Stretch"
  922. VerticalAlignment="Center"
  923. Margin="0"
  924. Padding="2" />
  925. </DataTemplate>
  926. </DataGridTemplateColumn.CellEditingTemplate>
  927. </DataGridTemplateColumn>
  928. <!--R 速度-->
  929. <DataGridTemplateColumn Header="R速度"
  930. MinWidth="60"
  931. Width="Auto">
  932. <DataGridTemplateColumn.CellTemplate>
  933. <DataTemplate>
  934. <TextBlock Text="{Binding R_Velocity, StringFormat={}{0:F0}}"
  935. HorizontalAlignment="Center"
  936. VerticalAlignment="Center" />
  937. </DataTemplate>
  938. </DataGridTemplateColumn.CellTemplate>
  939. <DataGridTemplateColumn.CellEditingTemplate>
  940. <DataTemplate>
  941. <mah:NumericUpDown Value="{Binding R_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  942. Minimum="0"
  943. Maximum="9999.000"
  944. Interval="1"
  945. StringFormat="F3"
  946. HorizontalAlignment="Stretch"
  947. VerticalAlignment="Center"
  948. Margin="0"
  949. Padding="2" />
  950. </DataTemplate>
  951. </DataGridTemplateColumn.CellEditingTemplate>
  952. </DataGridTemplateColumn>
  953. <!--扭矩-->
  954. <DataGridTemplateColumn Header="扭矩"
  955. MinWidth="60"
  956. Width="Auto">
  957. <DataGridTemplateColumn.CellTemplate>
  958. <DataTemplate>
  959. <TextBlock Text="{Binding Torque, StringFormat={}{0:F3}}"
  960. HorizontalAlignment="Center"
  961. VerticalAlignment="Center" />
  962. </DataTemplate>
  963. </DataGridTemplateColumn.CellTemplate>
  964. <DataGridTemplateColumn.CellEditingTemplate>
  965. <DataTemplate>
  966. <mah:NumericUpDown Value="{Binding Torque, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  967. Minimum="-9999.000"
  968. Maximum="9999.000"
  969. Interval="0.1"
  970. StringFormat="F3"
  971. HorizontalAlignment="Stretch"
  972. VerticalAlignment="Center"
  973. Margin="0"
  974. Padding="2" />
  975. </DataTemplate>
  976. </DataGridTemplateColumn.CellEditingTemplate>
  977. </DataGridTemplateColumn>
  978. <!--供料器-->
  979. <!--<DataGridTemplateColumn Header="供料器"
  980. MinWidth="60"
  981. Width="Auto">
  982. <DataGridTemplateColumn.CellTemplate>
  983. <DataTemplate>
  984. <TextBlock Text="{Binding Feeder, StringFormat={}{0:F0}}"
  985. HorizontalAlignment="Center"
  986. VerticalAlignment="Center" />
  987. </DataTemplate>
  988. </DataGridTemplateColumn.CellTemplate>
  989. <DataGridTemplateColumn.CellEditingTemplate>
  990. <DataTemplate>
  991. <mah:NumericUpDown Value="{Binding Feeder, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  992. Minimum="0"
  993. Maximum="9999.000"
  994. Interval="1"
  995. StringFormat="F0"
  996. HorizontalAlignment="Stretch"
  997. VerticalAlignment="Center"
  998. Margin="0"
  999. Padding="2" />
  1000. </DataTemplate>
  1001. </DataGridTemplateColumn.CellEditingTemplate>
  1002. </DataGridTemplateColumn>-->
  1003. <!--电批程序号-->
  1004. <!--<DataGridTemplateColumn Header="电批程序号"
  1005. MinWidth="60"
  1006. Width="Auto">
  1007. <DataGridTemplateColumn.CellTemplate>
  1008. <DataTemplate>
  1009. <TextBlock Text="{Binding ScrewProNum, StringFormat={}{0:F0}}"
  1010. HorizontalAlignment="Center"
  1011. VerticalAlignment="Center" />
  1012. </DataTemplate>
  1013. </DataGridTemplateColumn.CellTemplate>
  1014. <DataGridTemplateColumn.CellEditingTemplate>
  1015. <DataTemplate>
  1016. <mah:NumericUpDown Value="{Binding ScrewProNum, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1017. Minimum="0"
  1018. Maximum="9999.000"
  1019. Interval="1"
  1020. StringFormat="F0"
  1021. HorizontalAlignment="Stretch"
  1022. VerticalAlignment="Center"
  1023. Margin="0"
  1024. Padding="2" />
  1025. </DataTemplate>
  1026. </DataGridTemplateColumn.CellEditingTemplate>
  1027. </DataGridTemplateColumn>-->
  1028. <!--视觉流程-->
  1029. <DataGridTemplateColumn x:Name="colProcedure"
  1030. Header="视觉流程"
  1031. MinWidth="60"
  1032. Width="Auto">
  1033. <DataGridTemplateColumn.CellTemplate>
  1034. <DataTemplate>
  1035. <ComboBox MinWidth="50"
  1036. Margin="5,0,0,0"
  1037. ItemsSource="{Binding DataContext.ProcedureModels,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1038. SelectedValuePath="Id"
  1039. SelectedValue="{Binding VisionProcessID, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1040. SelectionChanged="ProcedureCombo_SelectionChanged">
  1041. <ComboBox.ItemTemplate>
  1042. <DataTemplate>
  1043. <StackPanel Orientation="Horizontal">
  1044. <materialDesign:PackIcon Kind="VideoOutline" />
  1045. <TextBlock Text="{Binding CameraName}"
  1046. Margin="6,0" />
  1047. <materialDesign:PackIcon Kind="ProgressWrench" />
  1048. <TextBlock Text="{Binding Name}"
  1049. Margin="6,0" />
  1050. </StackPanel>
  1051. </DataTemplate>
  1052. </ComboBox.ItemTemplate>
  1053. </ComboBox>
  1054. </DataTemplate>
  1055. </DataGridTemplateColumn.CellTemplate>
  1056. </DataGridTemplateColumn>
  1057. <DataGridTextColumn Header="{lex:Loc 描述}"
  1058. MinWidth="100"
  1059. Width="200"
  1060. Binding="{Binding Description, Mode=TwoWay}" />
  1061. </DataGrid.Columns>
  1062. </DataGrid>
  1063. </DockPanel>
  1064. </DockPanel>
  1065. <GridSplitter Grid.Column="0"
  1066. Grid.Row="0"
  1067. Grid.RowSpan="2"
  1068. Width="2"
  1069. Background="DeepSkyBlue"
  1070. VerticalAlignment="Stretch"
  1071. HorizontalAlignment="Right" />
  1072. <!--运动控制区-->
  1073. <Viewbox Grid.Column="1">
  1074. <Grid>
  1075. <Grid.RowDefinitions>
  1076. <RowDefinition Height="auto" />
  1077. <RowDefinition Height="auto" />
  1078. <RowDefinition Height="auto" />
  1079. <RowDefinition Height="auto" />
  1080. </Grid.RowDefinitions>
  1081. <ToggleButton Grid.ColumnSpan="2"
  1082. HorizontalAlignment="Left"
  1083. VerticalAlignment="Top"
  1084. materialDesign:ToggleButtonAssist.OnContent="{materialDesign:PackIcon Kind=ArrowLeft}"
  1085. Content="{materialDesign:PackIcon Kind=Camera}"
  1086. Style="{StaticResource MaterialDesignActionToggleButton}"
  1087. ToolTip="相机图像"
  1088. Margin="5,0"
  1089. IsChecked="{Binding IsLeftDrawerOpen,ElementName=DrawerHost}" />
  1090. <Grid Grid.Row="0"
  1091. Margin="10"
  1092. HorizontalAlignment="Center">
  1093. <Grid.ColumnDefinitions>
  1094. <ColumnDefinition Width="auto" />
  1095. <ColumnDefinition Width="auto" />
  1096. <ColumnDefinition Width="auto" />
  1097. <ColumnDefinition Width="auto" />
  1098. </Grid.ColumnDefinitions>
  1099. <Grid.RowDefinitions>
  1100. <RowDefinition Height="auto" />
  1101. <RowDefinition Height="auto" />
  1102. <RowDefinition Height="auto" />
  1103. <RowDefinition Height="auto" />
  1104. <RowDefinition Height="auto" />
  1105. <RowDefinition Height="auto" />
  1106. <RowDefinition Height="auto" />
  1107. <RowDefinition Height="auto" />
  1108. </Grid.RowDefinitions>
  1109. <Grid.Resources>
  1110. <Style TargetType="Button"
  1111. BasedOn="{StaticResource MaterialDesignRaisedDarkButton}">
  1112. <Setter Property="Width"
  1113. Value="60" />
  1114. <Setter Property="Height"
  1115. Value="60" />
  1116. <Setter Property="FontSize"
  1117. Value="13" />
  1118. <Setter Property="Padding"
  1119. Value="0" />
  1120. <Setter Property="HorizontalAlignment"
  1121. Value="Center" />
  1122. <Setter Property="VerticalAlignment"
  1123. Value="Center" />
  1124. <Setter Property="Margin"
  1125. Value="2" />
  1126. <Setter Property="materialDesign:ButtonAssist.CornerRadius"
  1127. Value="10" />
  1128. </Style>
  1129. </Grid.Resources>
  1130. <StackPanel Grid.ColumnSpan="4"
  1131. Grid.Row="0"
  1132. Grid.Column="0"
  1133. VerticalAlignment="Center"
  1134. Orientation="Horizontal"
  1135. Margin="30,0,0,0">
  1136. <Button Content="{lex:Loc 上使能}"
  1137. Grid.Row="2"
  1138. materialDesign:ButtonAssist.CornerRadius="10"
  1139. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1140. Command="{Binding MotorCommand}"
  1141. CommandParameter="True" />
  1142. <Button Content="{lex:Loc 下使能}"
  1143. Grid.Row="3"
  1144. Margin="10"
  1145. materialDesign:ButtonAssist.CornerRadius="10"
  1146. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1147. Command="{Binding MotorCommand}"
  1148. CommandParameter="False" />
  1149. <Button Content="{lex:Loc 复位错误}"
  1150. Grid.Row="4"
  1151. materialDesign:ButtonAssist.CornerRadius="10"
  1152. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1153. Command="{Binding ResetCommand}" />
  1154. </StackPanel>
  1155. <Button Grid.Row="2"
  1156. Grid.Column="0"
  1157. Command="{Binding JogCommand}"
  1158. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=X-}">
  1159. <StackPanel Orientation="Vertical">
  1160. <materialDesign:PackIcon Kind="ArrowLeftBold"
  1161. Width="26"
  1162. Height="26" />
  1163. <TextBlock Text="-X"
  1164. HorizontalAlignment="Center" />
  1165. </StackPanel>
  1166. </Button>
  1167. <Button Grid.Row="2"
  1168. Grid.Column="2"
  1169. Command="{Binding JogCommand}"
  1170. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=X+}">
  1171. <StackPanel Orientation="Vertical">
  1172. <materialDesign:PackIcon Kind="ArrowRightBold"
  1173. Width="26"
  1174. Height="26" />
  1175. <TextBlock Text="+X"
  1176. HorizontalAlignment="Center" />
  1177. </StackPanel>
  1178. </Button>
  1179. <Button Grid.Row="1"
  1180. Grid.Column="1"
  1181. Command="{Binding JogCommand}"
  1182. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=Y+}">
  1183. <StackPanel Orientation="Vertical">
  1184. <materialDesign:PackIcon Kind="ArrowTopBold"
  1185. Width="26"
  1186. Height="26" />
  1187. <TextBlock Text="+Y"
  1188. HorizontalAlignment="Center" />
  1189. </StackPanel>
  1190. </Button>
  1191. <Button Grid.Row="3"
  1192. Grid.Column="1"
  1193. Command="{Binding JogCommand}"
  1194. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=Y-}">
  1195. <StackPanel Orientation="Vertical">
  1196. <materialDesign:PackIcon Kind="ArrowBottomBold"
  1197. Width="26"
  1198. Height="26" />
  1199. <TextBlock Text="-Y"
  1200. HorizontalAlignment="Center" />
  1201. </StackPanel>
  1202. </Button>
  1203. <Button Grid.Row="1"
  1204. Grid.Column="3"
  1205. Command="{Binding JogCommand}"
  1206. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=Z+}">
  1207. <StackPanel Orientation="Vertical">
  1208. <materialDesign:PackIcon Kind="ArrowTopBold"
  1209. Width="26"
  1210. Height="26" />
  1211. <TextBlock Text="+Z"
  1212. HorizontalAlignment="Center" />
  1213. </StackPanel>
  1214. </Button>
  1215. <Button Grid.Row="3"
  1216. Grid.Column="3"
  1217. Command="{Binding JogCommand}"
  1218. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=Z-}">
  1219. <StackPanel Orientation="Vertical">
  1220. <materialDesign:PackIcon Kind="ArrowBottomBold"
  1221. Width="26"
  1222. Height="26" />
  1223. <TextBlock Text="-Z"
  1224. HorizontalAlignment="Center" />
  1225. </StackPanel>
  1226. </Button>
  1227. <Button Grid.Row="4"
  1228. Grid.Column="3"
  1229. Command="{Binding JogCommand}"
  1230. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=U+}">
  1231. <StackPanel Orientation="Vertical">
  1232. <materialDesign:PackIcon Kind="AxisZRotateCounterclockwise"
  1233. Width="26"
  1234. Height="26" />
  1235. <TextBlock Text="+U"
  1236. HorizontalAlignment="Center" />
  1237. </StackPanel>
  1238. </Button>
  1239. <Button Grid.Row="4"
  1240. Grid.Column="0"
  1241. Command="{Binding JogCommand}"
  1242. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=U-}">
  1243. <StackPanel Orientation="Vertical">
  1244. <materialDesign:PackIcon Kind="AxisZRotateClockwise"
  1245. Width="26"
  1246. Height="26" />
  1247. <TextBlock Text="-U"
  1248. HorizontalAlignment="Center" />
  1249. </StackPanel>
  1250. </Button>
  1251. <StackPanel Grid.Row="6"
  1252. Grid.ColumnSpan="7"
  1253. Margin="10,0"
  1254. Grid.Column="0"
  1255. VerticalAlignment="Center"
  1256. Orientation="Horizontal">
  1257. <TextBlock Text="{lex:Loc 步进距离}"
  1258. VerticalAlignment="Center" />
  1259. <uControl:myNumericUpDowm x:Name="txtDistance"
  1260. MinWidth="100"
  1261. Interval="0.1"
  1262. Minimum="0"
  1263. Maximum="100"
  1264. StringFormat="{}{0:N3} mm"
  1265. Value="{Binding Distance,Mode=TwoWay}"
  1266. Margin="10,0" />
  1267. </StackPanel>
  1268. <TextBlock Grid.Row="7"
  1269. Grid.ColumnSpan="7"
  1270. Margin="10,0"
  1271. Grid.Column="0"
  1272. VerticalAlignment="Center"
  1273. HorizontalAlignment="Center">
  1274. <TextBlock.Text>
  1275. <MultiBinding StringFormat="{}CurPos X: {0:F3} mm Y: {1:F3} mm Z: {2:F3} mm U: {3:F3} mm">
  1276. <Binding Path="Robot.CurrentPosition.X" />
  1277. <Binding Path="Robot.CurrentPosition.Y" />
  1278. <Binding Path="Robot.CurrentPosition.Z" />
  1279. <Binding Path="Robot.CurrentPosition.U" />
  1280. </MultiBinding>
  1281. </TextBlock.Text>
  1282. </TextBlock>
  1283. </Grid>
  1284. <Grid Grid.Row="1"
  1285. Grid.ColumnSpan="7">
  1286. <Grid.RowDefinitions>
  1287. <RowDefinition Height="auto" />
  1288. <RowDefinition Height="auto" />
  1289. <RowDefinition Height="auto" />
  1290. <RowDefinition Height="auto" />
  1291. </Grid.RowDefinitions>
  1292. <Grid.ColumnDefinitions>
  1293. <ColumnDefinition Width="auto" />
  1294. <ColumnDefinition Width="auto" />
  1295. <ColumnDefinition Width="auto" />
  1296. </Grid.ColumnDefinitions>
  1297. <TextBlock Grid.Row="1"
  1298. Grid.Column="0"
  1299. Text="{lex:Loc 点编号,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
  1300. Margin="10,0"
  1301. VerticalAlignment="Center" />
  1302. <ComboBox x:Name="cmbSelectPoint"
  1303. Grid.Row="2"
  1304. Grid.Column="0"
  1305. MinWidth="80"
  1306. materialDesign:HintAssist.Hint="{lex:Loc 选择点}"
  1307. Margin="10,0"
  1308. ItemsSource="{Binding Points}"
  1309. SelectedItem="{Binding SelectedPointInComboBox,Mode=TwoWay}">
  1310. <ComboBox.ItemTemplate>
  1311. <DataTemplate>
  1312. <StackPanel HorizontalAlignment="Left"
  1313. Orientation="Horizontal">
  1314. <TextBlock Text="{Binding Number,StringFormat={}{0}:}" />
  1315. <TextBlock Text="{Binding Label}" />
  1316. </StackPanel>
  1317. </DataTemplate>
  1318. </ComboBox.ItemTemplate>
  1319. </ComboBox>
  1320. <TextBlock Grid.Row="1"
  1321. Grid.Column="1"
  1322. Text="{lex:Loc 动作指令,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
  1323. Margin="10,0"
  1324. VerticalAlignment="Center" />
  1325. <ComboBox x:Name="cmbSelectMotioncmd"
  1326. Grid.Row="2"
  1327. Grid.Column="1"
  1328. MinWidth="80"
  1329. Margin="10,0"
  1330. materialDesign:HintAssist.Hint="{lex:Loc 动作指令}"
  1331. ItemsSource="{ext:EnumBindingSource EnumType=enums:MotionCommand}"
  1332. SelectedItem="{Binding DataContext.SelectMotionCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
  1333. <Button Grid.Row="2"
  1334. Grid.Column="2"
  1335. Content="{lex:Loc 执行动作}"
  1336. Margin="2.0"
  1337. Command="{Binding DataContext.ExecuteMotion,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}">
  1338. <Button.CommandParameter>
  1339. <MultiBinding Converter="{StaticResource MultiParameterConverter}">
  1340. <Binding ElementName="cmbSelectPoint"
  1341. Path="SelectedItem" />
  1342. <Binding ElementName="cmbSelectMotioncmd"
  1343. Path="SelectedItem" />
  1344. </MultiBinding>
  1345. </Button.CommandParameter>
  1346. </Button>
  1347. <Button Grid.Row="3"
  1348. Grid.Column="0"
  1349. Content="{lex:Loc 示教}"
  1350. Margin="2,0"
  1351. HorizontalAlignment="Right"
  1352. Command="{Binding DataContext.TechPointCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
  1353. </Grid>
  1354. <ItemsControl Grid.Row="2"
  1355. ItemsSource="{Binding AdditionalAxisList}">
  1356. <ItemsControl.ItemTemplate>
  1357. <DataTemplate>
  1358. <Border Padding="6"
  1359. Margin="0,2"
  1360. Background="{DynamicResource MaterialDesignPaper}">
  1361. <DockPanel LastChildFill="False"
  1362. VerticalAlignment="Center">
  1363. <StackPanel Orientation="Horizontal"
  1364. DockPanel.Dock="Left"
  1365. VerticalAlignment="Center">
  1366. <TextBlock Text="{Binding Name}"
  1367. Width="140"
  1368. VerticalAlignment="Center" />
  1369. <TextBlock Text="{Binding CurrentPosition, StringFormat='{}{0:F3} mm'}"
  1370. Width="140"
  1371. Margin="10,0"
  1372. VerticalAlignment="Center" />
  1373. </StackPanel>
  1374. <StackPanel Orientation="Horizontal"
  1375. HorizontalAlignment="Right"
  1376. DockPanel.Dock="Right">
  1377. <Button Width="60"
  1378. Height="36"
  1379. Margin="6,0"
  1380. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1381. Command="{Binding DataContext.AdditionalAxisJogPlusCommand, RelativeSource={RelativeSource AncestorType=UserControl}}"
  1382. CommandParameter="{Binding}">
  1383. <StackPanel Orientation="Vertical">
  1384. <materialDesign:PackIcon Kind="ArrowLeftBold"
  1385. Width="26"
  1386. Height="26" />
  1387. <TextBlock Text="+"
  1388. HorizontalAlignment="Center" />
  1389. </StackPanel>
  1390. </Button>
  1391. <Button Width="60"
  1392. Height="36"
  1393. Margin="6,0"
  1394. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1395. Command="{Binding DataContext.AdditionalAxisJogMinusCommand, RelativeSource={RelativeSource AncestorType=UserControl}}"
  1396. CommandParameter="{Binding}">
  1397. <StackPanel Orientation="Vertical">
  1398. <materialDesign:PackIcon Kind="ArrowRightBold"
  1399. Width="26"
  1400. Height="26" />
  1401. <TextBlock Text="-"
  1402. HorizontalAlignment="Center" />
  1403. </StackPanel>
  1404. </Button>
  1405. <Button Content="上使能"
  1406. Width="60"
  1407. Height="36"
  1408. Margin="6,0"
  1409. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1410. Command="{Binding DataContext.AdditionalAxisMotorOnCommand, RelativeSource={RelativeSource AncestorType=UserControl}}"
  1411. CommandParameter="{Binding}" />
  1412. <Button Content="下使能"
  1413. Width="60"
  1414. Height="36"
  1415. Margin="6,0"
  1416. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1417. Command="{Binding DataContext.AdditionalAxisMotorOffCommand, RelativeSource={RelativeSource AncestorType=UserControl}}"
  1418. CommandParameter="{Binding}" />
  1419. </StackPanel>
  1420. </DockPanel>
  1421. </Border>
  1422. </DataTemplate>
  1423. </ItemsControl.ItemTemplate>
  1424. </ItemsControl>
  1425. </Grid>
  1426. </Viewbox>
  1427. </Grid>
  1428. </Grid>
  1429. </materialDesign:DrawerHost>
  1430. <StackPanel Grid.Row="2"
  1431. Orientation="Horizontal"
  1432. HorizontalAlignment="Center"
  1433. VerticalAlignment="Center"
  1434. Margin="20">
  1435. <Button Content="{lex:Loc 下一步}"
  1436. IsEnabled="{Binding IsAllowEdit}"
  1437. MinWidth="100"
  1438. HorizontalAlignment="Center"
  1439. VerticalAlignment="Center"
  1440. materialDesign:ButtonAssist.CornerRadius="10"
  1441. Style="{StaticResource MaterialDesignRaisedButton}"
  1442. Command="{Binding NextCommand}" />
  1443. </StackPanel>
  1444. </Grid>
  1445. </UserControl>