PlcPointParams.xaml 93 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345
  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. </ListBox>
  301. <!--点位列表操作按钮面板-->
  302. <StackPanel DockPanel.Dock="Bottom"
  303. Orientation="Horizontal">
  304. <Button Content="添加点"
  305. Margin="5,2"
  306. MinWidth="80"
  307. materialDesign:ButtonAssist.CornerRadius="5"
  308. Command="{Binding AddPointCommand}" />
  309. <Button Content="删除点"
  310. Margin="5,2"
  311. MinWidth="80"
  312. materialDesign:ButtonAssist.CornerRadius="5"
  313. Command="{Binding DeletePointCommand}" />
  314. <Button Content="上移"
  315. Margin="5,2"
  316. MinWidth="80"
  317. materialDesign:ButtonAssist.CornerRadius="5"
  318. Command="{Binding MovePointUpCommand}" />
  319. <Button Content="下移"
  320. Margin="5,2"
  321. MinWidth="80"
  322. materialDesign:ButtonAssist.CornerRadius="5"
  323. Command="{Binding MovePointDownCommand}" />
  324. <!--<Button Content="CAD导入点位"
  325. Margin="5,2"
  326. MinWidth="80"
  327. d:Visibility="Visible"
  328. materialDesign:ButtonAssist.CornerRadius="5"
  329. Command="{Binding ImportCadPointCommand}">
  330. <Button.Style>
  331. <Style TargetType="Button"
  332. BasedOn="{StaticResource MaterialDesignRaisedDarkButton}">
  333. <Setter Property="Visibility"
  334. Value="Collapsed" />
  335. <Style.Triggers>
  336. -->
  337. <!-- 当 SelectedIndex == 0 时显示此面板 -->
  338. <!--
  339. <DataTrigger Binding="{Binding SelectedIndex}"
  340. Value="4">
  341. <Setter Property="Visibility"
  342. Value="Visible" />
  343. </DataTrigger>
  344. </Style.Triggers>
  345. </Style>
  346. </Button.Style>
  347. </Button>-->
  348. <!--设置补偿值-->
  349. <Button Content="设置补偿值"
  350. Margin="5,2"
  351. MinWidth="80"
  352. d:Visibility="Visible"
  353. materialDesign:ButtonAssist.CornerRadius="5"
  354. Command="{Binding SetOffsetCommand}" />
  355. </StackPanel>
  356. <Border BorderBrush="LightGray"
  357. BorderThickness="1"
  358. Height="1"
  359. DockPanel.Dock="Bottom" />
  360. <DockPanel>
  361. <!--不同点位类型的操作面板-->
  362. <StackPanel DockPanel.Dock="Bottom"
  363. Orientation="Vertical">
  364. <!--取料点位面板-->
  365. <StackPanel x:Name="AutoCorrectPickPointPanel"
  366. Orientation="Vertical"
  367. d:Visibility="Visible">
  368. <StackPanel.Style>
  369. <Style TargetType="StackPanel">
  370. <Setter Property="Visibility"
  371. Value="Collapsed" />
  372. <Style.Triggers>
  373. <!--当 SelectedIndex == 1 时显示此面板-->
  374. <DataTrigger Binding="{Binding SelectedIndex}"
  375. Value="1">
  376. <Setter Property="Visibility"
  377. Value="Visible" />
  378. </DataTrigger>
  379. </Style.Triggers>
  380. </Style>
  381. </StackPanel.Style>
  382. <ScrollViewer HorizontalScrollBarVisibility="Auto"
  383. VerticalScrollBarVisibility="Disabled">
  384. <StackPanel Orientation="Vertical"
  385. HorizontalAlignment="Left">
  386. <ScrollViewer>
  387. <StackPanel Orientation="Horizontal">
  388. </StackPanel>
  389. </ScrollViewer>
  390. <StackPanel Orientation="Horizontal">
  391. <TextBlock Text="吸真空编号:"
  392. VerticalAlignment="Center" />
  393. <mah:NumericUpDown MinWidth="100"
  394. HorizontalContentAlignment="Center"
  395. VerticalContentAlignment="Center"
  396. Minimum="0"
  397. Maximum="100"
  398. Value="{Binding Inhal,Mode=OneWay}"
  399. Margin="5,0,0,0" />
  400. <Button Content="执行取料"
  401. Margin="10,0,0,0"
  402. materialDesign:ButtonAssist.CornerRadius="5"
  403. Command="{Binding GoPickCommand}" />
  404. </StackPanel>
  405. </StackPanel>
  406. </ScrollViewer>
  407. </StackPanel>
  408. <!--下相机二次定位-->
  409. <StackPanel x:Name="DownCameraRepositionPanel"
  410. Orientation="Vertical"
  411. d:Visibility="Visible">
  412. <StackPanel.Style>
  413. <Style TargetType="StackPanel">
  414. <Setter Property="Visibility"
  415. Value="Collapsed" />
  416. <Style.Triggers>
  417. <!--当 SelectedIndex == 2 时显示此面板-->
  418. <DataTrigger Binding="{Binding SelectedIndex}"
  419. Value="2">
  420. <Setter Property="Visibility"
  421. Value="Visible" />
  422. </DataTrigger>
  423. </Style.Triggers>
  424. </Style>
  425. </StackPanel.Style>
  426. <ScrollViewer HorizontalScrollBarVisibility="Auto"
  427. VerticalScrollBarVisibility="Disabled">
  428. <StackPanel Orientation="Horizontal"
  429. HorizontalAlignment="Left">
  430. <Button Content="执行二次定位"
  431. Margin="10,0,0,0"
  432. materialDesign:ButtonAssist.CornerRadius="5"
  433. Command="{Binding GoRepositionCommand}" />
  434. </StackPanel>
  435. </ScrollViewer>
  436. </StackPanel>
  437. <!--产品拍照-->
  438. <StackPanel Orientation="Vertical"
  439. d:Visibility="Visible">
  440. <StackPanel.Style>
  441. <Style TargetType="StackPanel">
  442. <Setter Property="Visibility"
  443. Value="Collapsed" />
  444. <Style.Triggers>
  445. <!--当 SelectedIndex == 3 时显示此面板-->
  446. <DataTrigger Binding="{Binding SelectedIndex}"
  447. Value="3">
  448. <Setter Property="Visibility"
  449. Value="Visible" />
  450. </DataTrigger>
  451. </Style.Triggers>
  452. </Style>
  453. </StackPanel.Style>
  454. <ScrollViewer HorizontalScrollBarVisibility="Auto"
  455. VerticalScrollBarVisibility="Disabled">
  456. <StackPanel Orientation="Horizontal"
  457. HorizontalAlignment="Left">
  458. <Button Content="执行产品拍照"
  459. Margin="10,0,0,0"
  460. materialDesign:ButtonAssist.CornerRadius="5"
  461. Command="{Binding TakeProductPhotoCommand}" />
  462. </StackPanel>
  463. </ScrollViewer>
  464. </StackPanel>
  465. </StackPanel>
  466. <!--点位表-->
  467. <DataGrid x:Name="dgPoints"
  468. AutoGenerateColumns="False"
  469. CanUserAddRows="False"
  470. CanUserDeleteRows="False"
  471. ColumnWidth="*"
  472. SelectionUnit="FullRow"
  473. SelectionMode="Single"
  474. SelectedItem="{Binding SelectedPointInDataGrid,Mode=TwoWay}"
  475. ItemsSource="{Binding Points}"
  476. HeadersVisibility="Column"
  477. HorizontalScrollBarVisibility="Auto"
  478. ScrollViewer.CanContentScroll="True"
  479. ScrollViewer.HorizontalScrollBarVisibility="Auto"
  480. GridLinesVisibility="All"
  481. VerticalGridLinesBrush="#D0D0D0">
  482. <DataGrid.Resources>
  483. <Style TargetType="DataGridCell">
  484. <Style.Resources>
  485. <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}"
  486. Color="#0078D7" />
  487. </Style.Resources>
  488. <Setter Property="MinHeight"
  489. Value="25" />
  490. <Setter Property="VerticalContentAlignment"
  491. Value="Center" />
  492. <Setter Property="HorizontalContentAlignment"
  493. Value="Center" />
  494. <Setter Property="VerticalAlignment"
  495. Value="Center" />
  496. <Setter Property="TextBlock.TextAlignment"
  497. Value="Center" />
  498. <Setter Property="Padding"
  499. Value="0" />
  500. <Style.Triggers>
  501. <Trigger Property="IsSelected"
  502. Value="True">
  503. <Setter Property="Foreground"
  504. Value="White" />
  505. </Trigger>
  506. </Style.Triggers>
  507. </Style>
  508. <!-- 为 TextBlock 添加默认居中样式 -->
  509. <Style TargetType="TextBlock">
  510. <Setter Property="TextAlignment"
  511. Value="Center" />
  512. <Setter Property="HorizontalAlignment"
  513. Value="Center" />
  514. <Setter Property="VerticalAlignment"
  515. Value="Center" />
  516. </Style>
  517. </DataGrid.Resources>
  518. <DataGrid.Columns>
  519. <DataGridTextColumn Header="{lex:Loc 编号}"
  520. IsReadOnly="True"
  521. MinWidth="60"
  522. Width="Auto"
  523. Binding="{Binding Number, Mode=TwoWay, StringFormat={}{0:F0}}">
  524. </DataGridTextColumn>
  525. <DataGridTextColumn Header="{lex:Loc 标签}"
  526. MinWidth="100"
  527. Width="Auto"
  528. Binding="{Binding Label, Mode=TwoWay}" />
  529. <!--X 坐标-->
  530. <DataGridTemplateColumn Header="X位置"
  531. MinWidth="60"
  532. Width="Auto">
  533. <DataGridTemplateColumn.CellTemplate>
  534. <DataTemplate>
  535. <TextBlock Text="{Binding X_Position, StringFormat={}{0:F3}}"
  536. HorizontalAlignment="Center"
  537. VerticalAlignment="Center" />
  538. </DataTemplate>
  539. </DataGridTemplateColumn.CellTemplate>
  540. <DataGridTemplateColumn.CellEditingTemplate>
  541. <DataTemplate>
  542. <mah:NumericUpDown Value="{Binding X_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  543. Minimum="-9999.000"
  544. Maximum="9999.000"
  545. Interval="0.1"
  546. StringFormat="F3"
  547. HorizontalAlignment="Stretch"
  548. VerticalAlignment="Center"
  549. Margin="0"
  550. Padding="2" />
  551. </DataTemplate>
  552. </DataGridTemplateColumn.CellEditingTemplate>
  553. </DataGridTemplateColumn>
  554. <!--X 速度-->
  555. <DataGridTemplateColumn Header="X速度"
  556. MinWidth="60"
  557. Width="Auto">
  558. <DataGridTemplateColumn.CellTemplate>
  559. <DataTemplate>
  560. <TextBlock Text="{Binding X_Velocity, StringFormat={}{0:F0}}"
  561. HorizontalAlignment="Center"
  562. VerticalAlignment="Center" />
  563. </DataTemplate>
  564. </DataGridTemplateColumn.CellTemplate>
  565. <DataGridTemplateColumn.CellEditingTemplate>
  566. <DataTemplate>
  567. <mah:NumericUpDown Value="{Binding X_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  568. Minimum="0"
  569. Maximum="9999.000"
  570. Interval="1"
  571. StringFormat="F3"
  572. HorizontalAlignment="Stretch"
  573. VerticalAlignment="Center"
  574. Margin="0"
  575. Padding="2" />
  576. </DataTemplate>
  577. </DataGridTemplateColumn.CellEditingTemplate>
  578. </DataGridTemplateColumn>
  579. <!--Y 坐标-->
  580. <DataGridTemplateColumn Header="Y位置"
  581. MinWidth="60"
  582. Width="Auto">
  583. <DataGridTemplateColumn.CellTemplate>
  584. <DataTemplate>
  585. <TextBlock Text="{Binding Y_Position, StringFormat={}{0:F3}}"
  586. HorizontalAlignment="Center"
  587. VerticalAlignment="Center" />
  588. </DataTemplate>
  589. </DataGridTemplateColumn.CellTemplate>
  590. <DataGridTemplateColumn.CellEditingTemplate>
  591. <DataTemplate>
  592. <mah:NumericUpDown Value="{Binding Y_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  593. Minimum="-9999.000"
  594. Maximum="9999.000"
  595. Interval="0.1"
  596. StringFormat="F3"
  597. HorizontalAlignment="Stretch"
  598. VerticalAlignment="Center"
  599. Margin="0"
  600. Padding="2" />
  601. </DataTemplate>
  602. </DataGridTemplateColumn.CellEditingTemplate>
  603. </DataGridTemplateColumn>
  604. <!--Y 速度-->
  605. <DataGridTemplateColumn Header="Y速度"
  606. MinWidth="60"
  607. Width="Auto">
  608. <DataGridTemplateColumn.CellTemplate>
  609. <DataTemplate>
  610. <TextBlock Text="{Binding Y_Velocity, StringFormat={}{0:F0}}"
  611. HorizontalAlignment="Center"
  612. VerticalAlignment="Center" />
  613. </DataTemplate>
  614. </DataGridTemplateColumn.CellTemplate>
  615. <DataGridTemplateColumn.CellEditingTemplate>
  616. <DataTemplate>
  617. <mah:NumericUpDown Value="{Binding Y_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  618. Minimum="0"
  619. Maximum="9999.000"
  620. Interval="1"
  621. StringFormat="F3"
  622. HorizontalAlignment="Stretch"
  623. VerticalAlignment="Center"
  624. Margin="0"
  625. Padding="2" />
  626. </DataTemplate>
  627. </DataGridTemplateColumn.CellEditingTemplate>
  628. </DataGridTemplateColumn>
  629. <!--Z 起点坐标-->
  630. <DataGridTemplateColumn Header="Z起点位置"
  631. MinWidth="60"
  632. Width="Auto">
  633. <DataGridTemplateColumn.CellTemplate>
  634. <DataTemplate>
  635. <TextBlock Text="{Binding Z_Position_Start, StringFormat={}{0:F3}}"
  636. HorizontalAlignment="Center"
  637. VerticalAlignment="Center" />
  638. </DataTemplate>
  639. </DataGridTemplateColumn.CellTemplate>
  640. <DataGridTemplateColumn.CellEditingTemplate>
  641. <DataTemplate>
  642. <mah:NumericUpDown Value="{Binding Z_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  643. Minimum="-9999.000"
  644. Maximum="9999.000"
  645. Interval="0.1"
  646. StringFormat="F3"
  647. HorizontalAlignment="Stretch"
  648. VerticalAlignment="Center"
  649. Margin="0"
  650. Padding="2" />
  651. </DataTemplate>
  652. </DataGridTemplateColumn.CellEditingTemplate>
  653. </DataGridTemplateColumn>
  654. <!--Z 起点速度-->
  655. <DataGridTemplateColumn Header="Z起点速度"
  656. MinWidth="60"
  657. Width="Auto">
  658. <DataGridTemplateColumn.CellTemplate>
  659. <DataTemplate>
  660. <TextBlock Text="{Binding Z_Velocity_Start, StringFormat={}{0:F0}}"
  661. HorizontalAlignment="Center"
  662. VerticalAlignment="Center" />
  663. </DataTemplate>
  664. </DataGridTemplateColumn.CellTemplate>
  665. <DataGridTemplateColumn.CellEditingTemplate>
  666. <DataTemplate>
  667. <mah:NumericUpDown Value="{Binding Z_Velocity_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  668. Minimum="0"
  669. Maximum="9999.000"
  670. Interval="1"
  671. StringFormat="F3"
  672. HorizontalAlignment="Stretch"
  673. VerticalAlignment="Center"
  674. Margin="0"
  675. Padding="2" />
  676. </DataTemplate>
  677. </DataGridTemplateColumn.CellEditingTemplate>
  678. </DataGridTemplateColumn>
  679. <!--Z 终点坐标-->
  680. <DataGridTemplateColumn Header="Z终点位置"
  681. MinWidth="60"
  682. Width="Auto">
  683. <DataGridTemplateColumn.CellTemplate>
  684. <DataTemplate>
  685. <TextBlock Text="{Binding Z_Position_Stop, StringFormat={}{0:F3}}"
  686. HorizontalAlignment="Center"
  687. VerticalAlignment="Center" />
  688. </DataTemplate>
  689. </DataGridTemplateColumn.CellTemplate>
  690. <DataGridTemplateColumn.CellEditingTemplate>
  691. <DataTemplate>
  692. <mah:NumericUpDown Value="{Binding Z_Position_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  693. Minimum="-9999.000"
  694. Maximum="9999.000"
  695. Interval="0.1"
  696. StringFormat="F3"
  697. HorizontalAlignment="Stretch"
  698. VerticalAlignment="Center"
  699. Margin="0"
  700. Padding="2" />
  701. </DataTemplate>
  702. </DataGridTemplateColumn.CellEditingTemplate>
  703. </DataGridTemplateColumn>
  704. <!--Z 终点速度-->
  705. <DataGridTemplateColumn Header="Z终点速度"
  706. MinWidth="60"
  707. Width="Auto">
  708. <DataGridTemplateColumn.CellTemplate>
  709. <DataTemplate>
  710. <TextBlock Text="{Binding Z_Velocity_Stop, StringFormat={}{0:F0}}"
  711. HorizontalAlignment="Center"
  712. VerticalAlignment="Center" />
  713. </DataTemplate>
  714. </DataGridTemplateColumn.CellTemplate>
  715. <DataGridTemplateColumn.CellEditingTemplate>
  716. <DataTemplate>
  717. <mah:NumericUpDown Value="{Binding Z_Velocity_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  718. Minimum="0"
  719. Maximum="9999.000"
  720. Interval="1"
  721. StringFormat="F3"
  722. HorizontalAlignment="Stretch"
  723. VerticalAlignment="Center"
  724. Margin="0"
  725. Padding="2" />
  726. </DataTemplate>
  727. </DataGridTemplateColumn.CellEditingTemplate>
  728. </DataGridTemplateColumn>
  729. <!--U 坐标-->
  730. <DataGridTemplateColumn Header="U位置"
  731. MinWidth="60"
  732. Width="Auto">
  733. <DataGridTemplateColumn.CellTemplate>
  734. <DataTemplate>
  735. <TextBlock Text="{Binding U_Position, StringFormat={}{0:F3}}"
  736. HorizontalAlignment="Center"
  737. VerticalAlignment="Center" />
  738. </DataTemplate>
  739. </DataGridTemplateColumn.CellTemplate>
  740. <DataGridTemplateColumn.CellEditingTemplate>
  741. <DataTemplate>
  742. <mah:NumericUpDown Value="{Binding U_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  743. Minimum="-9999.000"
  744. Maximum="9999.000"
  745. Interval="0.1"
  746. StringFormat="F3"
  747. HorizontalAlignment="Stretch"
  748. VerticalAlignment="Center"
  749. Margin="0"
  750. Padding="2" />
  751. </DataTemplate>
  752. </DataGridTemplateColumn.CellEditingTemplate>
  753. </DataGridTemplateColumn>
  754. <!--U 速度-->
  755. <DataGridTemplateColumn Header="U速度"
  756. MinWidth="60"
  757. Width="Auto">
  758. <DataGridTemplateColumn.CellTemplate>
  759. <DataTemplate>
  760. <TextBlock Text="{Binding U_Velocity, StringFormat={}{0:F0}}"
  761. HorizontalAlignment="Center"
  762. VerticalAlignment="Center" />
  763. </DataTemplate>
  764. </DataGridTemplateColumn.CellTemplate>
  765. <DataGridTemplateColumn.CellEditingTemplate>
  766. <DataTemplate>
  767. <mah:NumericUpDown Value="{Binding U_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  768. Minimum="0"
  769. Maximum="9999.000"
  770. Interval="1"
  771. StringFormat="F3"
  772. HorizontalAlignment="Stretch"
  773. VerticalAlignment="Center"
  774. Margin="0"
  775. Padding="2" />
  776. </DataTemplate>
  777. </DataGridTemplateColumn.CellEditingTemplate>
  778. </DataGridTemplateColumn>
  779. <!--R 坐标-->
  780. <DataGridTemplateColumn Header="R位置"
  781. MinWidth="60"
  782. Width="Auto">
  783. <DataGridTemplateColumn.CellTemplate>
  784. <DataTemplate>
  785. <TextBlock Text="{Binding R_Position, StringFormat={}{0:F3}}"
  786. HorizontalAlignment="Center"
  787. VerticalAlignment="Center" />
  788. </DataTemplate>
  789. </DataGridTemplateColumn.CellTemplate>
  790. <DataGridTemplateColumn.CellEditingTemplate>
  791. <DataTemplate>
  792. <mah:NumericUpDown Value="{Binding R_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  793. Minimum="-9999.000"
  794. Maximum="9999.000"
  795. Interval="0.1"
  796. StringFormat="F3"
  797. HorizontalAlignment="Stretch"
  798. VerticalAlignment="Center"
  799. Margin="0"
  800. Padding="2" />
  801. </DataTemplate>
  802. </DataGridTemplateColumn.CellEditingTemplate>
  803. </DataGridTemplateColumn>
  804. <!--R 速度-->
  805. <DataGridTemplateColumn Header="R速度"
  806. MinWidth="60"
  807. Width="Auto">
  808. <DataGridTemplateColumn.CellTemplate>
  809. <DataTemplate>
  810. <TextBlock Text="{Binding R_Velocity, StringFormat={}{0:F0}}"
  811. HorizontalAlignment="Center"
  812. VerticalAlignment="Center" />
  813. </DataTemplate>
  814. </DataGridTemplateColumn.CellTemplate>
  815. <DataGridTemplateColumn.CellEditingTemplate>
  816. <DataTemplate>
  817. <mah:NumericUpDown Value="{Binding R_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  818. Minimum="0"
  819. Maximum="9999.000"
  820. Interval="1"
  821. StringFormat="F3"
  822. HorizontalAlignment="Stretch"
  823. VerticalAlignment="Center"
  824. Margin="0"
  825. Padding="2" />
  826. </DataTemplate>
  827. </DataGridTemplateColumn.CellEditingTemplate>
  828. </DataGridTemplateColumn>
  829. <!--扭矩-->
  830. <DataGridTemplateColumn Header="扭矩"
  831. MinWidth="60"
  832. Width="Auto">
  833. <DataGridTemplateColumn.CellTemplate>
  834. <DataTemplate>
  835. <TextBlock Text="{Binding Torque, StringFormat={}{0:F3}}"
  836. HorizontalAlignment="Center"
  837. VerticalAlignment="Center" />
  838. </DataTemplate>
  839. </DataGridTemplateColumn.CellTemplate>
  840. <DataGridTemplateColumn.CellEditingTemplate>
  841. <DataTemplate>
  842. <mah:NumericUpDown Value="{Binding Torque, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  843. Minimum="-9999.000"
  844. Maximum="9999.000"
  845. Interval="0.1"
  846. StringFormat="F3"
  847. HorizontalAlignment="Stretch"
  848. VerticalAlignment="Center"
  849. Margin="0"
  850. Padding="2" />
  851. </DataTemplate>
  852. </DataGridTemplateColumn.CellEditingTemplate>
  853. </DataGridTemplateColumn>
  854. <!--供料器-->
  855. <!--<DataGridTemplateColumn Header="供料器"
  856. MinWidth="60"
  857. Width="Auto">
  858. <DataGridTemplateColumn.CellTemplate>
  859. <DataTemplate>
  860. <TextBlock Text="{Binding Feeder, StringFormat={}{0:F0}}"
  861. HorizontalAlignment="Center"
  862. VerticalAlignment="Center" />
  863. </DataTemplate>
  864. </DataGridTemplateColumn.CellTemplate>
  865. <DataGridTemplateColumn.CellEditingTemplate>
  866. <DataTemplate>
  867. <mah:NumericUpDown Value="{Binding Feeder, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  868. Minimum="0"
  869. Maximum="9999.000"
  870. Interval="1"
  871. StringFormat="F0"
  872. HorizontalAlignment="Stretch"
  873. VerticalAlignment="Center"
  874. Margin="0"
  875. Padding="2" />
  876. </DataTemplate>
  877. </DataGridTemplateColumn.CellEditingTemplate>
  878. </DataGridTemplateColumn>-->
  879. <!--电批程序号-->
  880. <!--<DataGridTemplateColumn Header="电批程序号"
  881. MinWidth="60"
  882. Width="Auto">
  883. <DataGridTemplateColumn.CellTemplate>
  884. <DataTemplate>
  885. <TextBlock Text="{Binding ScrewProNum, StringFormat={}{0:F0}}"
  886. HorizontalAlignment="Center"
  887. VerticalAlignment="Center" />
  888. </DataTemplate>
  889. </DataGridTemplateColumn.CellTemplate>
  890. <DataGridTemplateColumn.CellEditingTemplate>
  891. <DataTemplate>
  892. <mah:NumericUpDown Value="{Binding ScrewProNum, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  893. Minimum="0"
  894. Maximum="9999.000"
  895. Interval="1"
  896. StringFormat="F0"
  897. HorizontalAlignment="Stretch"
  898. VerticalAlignment="Center"
  899. Margin="0"
  900. Padding="2" />
  901. </DataTemplate>
  902. </DataGridTemplateColumn.CellEditingTemplate>
  903. </DataGridTemplateColumn>-->
  904. <!--视觉流程-->
  905. <DataGridTemplateColumn x:Name="colProcedure"
  906. Header="视觉流程"
  907. MinWidth="60"
  908. Width="Auto">
  909. <DataGridTemplateColumn.CellTemplate>
  910. <DataTemplate>
  911. <ComboBox MinWidth="50"
  912. Margin="5,0,0,0"
  913. ItemsSource="{Binding DataContext.ProcedureModels,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  914. SelectedValuePath="Id"
  915. SelectedValue="{Binding VisionProcessID, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  916. SelectionChanged="ProcedureCombo_SelectionChanged">
  917. <ComboBox.ItemTemplate>
  918. <DataTemplate>
  919. <StackPanel Orientation="Horizontal">
  920. <materialDesign:PackIcon Kind="VideoOutline" />
  921. <TextBlock Text="{Binding CameraName}"
  922. Margin="6,0" />
  923. <materialDesign:PackIcon Kind="ProgressWrench" />
  924. <TextBlock Text="{Binding Name}"
  925. Margin="6,0" />
  926. </StackPanel>
  927. </DataTemplate>
  928. </ComboBox.ItemTemplate>
  929. </ComboBox>
  930. </DataTemplate>
  931. </DataGridTemplateColumn.CellTemplate>
  932. </DataGridTemplateColumn>
  933. <DataGridTextColumn Header="{lex:Loc 描述}"
  934. MinWidth="100"
  935. Width="200"
  936. Binding="{Binding Description, Mode=TwoWay}" />
  937. </DataGrid.Columns>
  938. </DataGrid>
  939. </DockPanel>
  940. </DockPanel>
  941. <GridSplitter Grid.Column="0"
  942. Grid.Row="0"
  943. Grid.RowSpan="2"
  944. Width="2"
  945. Background="DeepSkyBlue"
  946. VerticalAlignment="Stretch"
  947. HorizontalAlignment="Right" />
  948. <!--运动控制区-->
  949. <Viewbox Grid.Column="1">
  950. <Grid>
  951. <Grid.RowDefinitions>
  952. <RowDefinition Height="auto" />
  953. <RowDefinition Height="auto" />
  954. <RowDefinition Height="auto" />
  955. <RowDefinition Height="auto" />
  956. </Grid.RowDefinitions>
  957. <ToggleButton Grid.ColumnSpan="2"
  958. HorizontalAlignment="Left"
  959. VerticalAlignment="Top"
  960. materialDesign:ToggleButtonAssist.OnContent="{materialDesign:PackIcon Kind=ArrowLeft}"
  961. Content="{materialDesign:PackIcon Kind=Camera}"
  962. Style="{StaticResource MaterialDesignActionToggleButton}"
  963. ToolTip="相机图像"
  964. Margin="5,0"
  965. IsChecked="{Binding IsLeftDrawerOpen,ElementName=DrawerHost}" />
  966. <Grid Grid.Row="0"
  967. Margin="10"
  968. HorizontalAlignment="Center">
  969. <Grid.ColumnDefinitions>
  970. <ColumnDefinition Width="auto" />
  971. <ColumnDefinition Width="auto" />
  972. <ColumnDefinition Width="auto" />
  973. <ColumnDefinition Width="auto" />
  974. </Grid.ColumnDefinitions>
  975. <Grid.RowDefinitions>
  976. <RowDefinition Height="auto" />
  977. <RowDefinition Height="auto" />
  978. <RowDefinition Height="auto" />
  979. <RowDefinition Height="auto" />
  980. <RowDefinition Height="auto" />
  981. <RowDefinition Height="auto" />
  982. <RowDefinition Height="auto" />
  983. <RowDefinition Height="auto" />
  984. </Grid.RowDefinitions>
  985. <Grid.Resources>
  986. <Style TargetType="Button"
  987. BasedOn="{StaticResource MaterialDesignRaisedDarkButton}">
  988. <Setter Property="Width"
  989. Value="60" />
  990. <Setter Property="Height"
  991. Value="60" />
  992. <Setter Property="FontSize"
  993. Value="13" />
  994. <Setter Property="Padding"
  995. Value="0" />
  996. <Setter Property="HorizontalAlignment"
  997. Value="Center" />
  998. <Setter Property="VerticalAlignment"
  999. Value="Center" />
  1000. <Setter Property="Margin"
  1001. Value="2" />
  1002. <Setter Property="materialDesign:ButtonAssist.CornerRadius"
  1003. Value="10" />
  1004. </Style>
  1005. </Grid.Resources>
  1006. <StackPanel Grid.ColumnSpan="4"
  1007. Grid.Row="0"
  1008. Grid.Column="0"
  1009. VerticalAlignment="Center"
  1010. Orientation="Horizontal"
  1011. Margin="30,0,0,0">
  1012. <Button Content="{lex:Loc 上使能}"
  1013. Grid.Row="2"
  1014. materialDesign:ButtonAssist.CornerRadius="10"
  1015. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1016. Command="{Binding MotorCommand}"
  1017. CommandParameter="True" />
  1018. <Button Content="{lex:Loc 下使能}"
  1019. Grid.Row="3"
  1020. Margin="10"
  1021. materialDesign:ButtonAssist.CornerRadius="10"
  1022. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1023. Command="{Binding MotorCommand}"
  1024. CommandParameter="False" />
  1025. <Button Content="{lex:Loc 复位错误}"
  1026. Grid.Row="4"
  1027. materialDesign:ButtonAssist.CornerRadius="10"
  1028. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1029. Command="{Binding ResetCommand}" />
  1030. </StackPanel>
  1031. <Button Grid.Row="2"
  1032. Grid.Column="0"
  1033. Command="{Binding JogCommand}"
  1034. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=X-}">
  1035. <StackPanel Orientation="Vertical">
  1036. <materialDesign:PackIcon Kind="ArrowLeftBold"
  1037. Width="26"
  1038. Height="26" />
  1039. <TextBlock Text="-X"
  1040. HorizontalAlignment="Center" />
  1041. </StackPanel>
  1042. </Button>
  1043. <Button Grid.Row="2"
  1044. Grid.Column="2"
  1045. Command="{Binding JogCommand}"
  1046. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=X+}">
  1047. <StackPanel Orientation="Vertical">
  1048. <materialDesign:PackIcon Kind="ArrowRightBold"
  1049. Width="26"
  1050. Height="26" />
  1051. <TextBlock Text="+X"
  1052. HorizontalAlignment="Center" />
  1053. </StackPanel>
  1054. </Button>
  1055. <Button Grid.Row="1"
  1056. Grid.Column="1"
  1057. Command="{Binding JogCommand}"
  1058. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=Y+}">
  1059. <StackPanel Orientation="Vertical">
  1060. <materialDesign:PackIcon Kind="ArrowTopBold"
  1061. Width="26"
  1062. Height="26" />
  1063. <TextBlock Text="+Y"
  1064. HorizontalAlignment="Center" />
  1065. </StackPanel>
  1066. </Button>
  1067. <Button Grid.Row="3"
  1068. Grid.Column="1"
  1069. Command="{Binding JogCommand}"
  1070. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=Y-}">
  1071. <StackPanel Orientation="Vertical">
  1072. <materialDesign:PackIcon Kind="ArrowBottomBold"
  1073. Width="26"
  1074. Height="26" />
  1075. <TextBlock Text="-Y"
  1076. HorizontalAlignment="Center" />
  1077. </StackPanel>
  1078. </Button>
  1079. <Button Grid.Row="1"
  1080. Grid.Column="3"
  1081. Command="{Binding JogCommand}"
  1082. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=Z+}">
  1083. <StackPanel Orientation="Vertical">
  1084. <materialDesign:PackIcon Kind="ArrowTopBold"
  1085. Width="26"
  1086. Height="26" />
  1087. <TextBlock Text="+Z"
  1088. HorizontalAlignment="Center" />
  1089. </StackPanel>
  1090. </Button>
  1091. <Button Grid.Row="3"
  1092. Grid.Column="3"
  1093. Command="{Binding JogCommand}"
  1094. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=Z-}">
  1095. <StackPanel Orientation="Vertical">
  1096. <materialDesign:PackIcon Kind="ArrowBottomBold"
  1097. Width="26"
  1098. Height="26" />
  1099. <TextBlock Text="-Z"
  1100. HorizontalAlignment="Center" />
  1101. </StackPanel>
  1102. </Button>
  1103. <Button Grid.Row="4"
  1104. Grid.Column="3"
  1105. Command="{Binding JogCommand}"
  1106. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=U+}">
  1107. <StackPanel Orientation="Vertical">
  1108. <materialDesign:PackIcon Kind="AxisZRotateCounterclockwise"
  1109. Width="26"
  1110. Height="26" />
  1111. <TextBlock Text="+U"
  1112. HorizontalAlignment="Center" />
  1113. </StackPanel>
  1114. </Button>
  1115. <Button Grid.Row="4"
  1116. Grid.Column="0"
  1117. Command="{Binding JogCommand}"
  1118. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=U-}">
  1119. <StackPanel Orientation="Vertical">
  1120. <materialDesign:PackIcon Kind="AxisZRotateClockwise"
  1121. Width="26"
  1122. Height="26" />
  1123. <TextBlock Text="-U"
  1124. HorizontalAlignment="Center" />
  1125. </StackPanel>
  1126. </Button>
  1127. <StackPanel Grid.Row="6"
  1128. Grid.ColumnSpan="7"
  1129. Margin="10,0"
  1130. Grid.Column="0"
  1131. VerticalAlignment="Center"
  1132. Orientation="Horizontal">
  1133. <TextBlock Text="{lex:Loc 步进距离}"
  1134. VerticalAlignment="Center" />
  1135. <uControl:myNumericUpDowm x:Name="txtDistance"
  1136. MinWidth="100"
  1137. Interval="0.1"
  1138. Minimum="0"
  1139. Maximum="100"
  1140. StringFormat="{}{0:N3} mm"
  1141. Value="{Binding Distance,Mode=TwoWay}"
  1142. Margin="10,0" />
  1143. </StackPanel>
  1144. <TextBlock Grid.Row="7"
  1145. Grid.ColumnSpan="7"
  1146. Margin="10,0"
  1147. Grid.Column="0"
  1148. VerticalAlignment="Center"
  1149. HorizontalAlignment="Center">
  1150. <TextBlock.Text>
  1151. <MultiBinding StringFormat="{}CurPos X: {0:F3} mm Y: {1:F3} mm Z: {2:F3} mm U: {3:F3} mm">
  1152. <Binding Path="Robot.CurrentPosition.X" />
  1153. <Binding Path="Robot.CurrentPosition.Y" />
  1154. <Binding Path="Robot.CurrentPosition.Z" />
  1155. <Binding Path="Robot.CurrentPosition.U" />
  1156. </MultiBinding>
  1157. </TextBlock.Text>
  1158. </TextBlock>
  1159. </Grid>
  1160. <Grid Grid.Row="1"
  1161. Grid.ColumnSpan="7">
  1162. <Grid.RowDefinitions>
  1163. <RowDefinition Height="auto" />
  1164. <RowDefinition Height="auto" />
  1165. <RowDefinition Height="auto" />
  1166. <RowDefinition Height="auto" />
  1167. </Grid.RowDefinitions>
  1168. <Grid.ColumnDefinitions>
  1169. <ColumnDefinition Width="auto" />
  1170. <ColumnDefinition Width="auto" />
  1171. <ColumnDefinition Width="auto" />
  1172. </Grid.ColumnDefinitions>
  1173. <TextBlock Grid.Row="1"
  1174. Grid.Column="0"
  1175. Text="{lex:Loc 点编号,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
  1176. Margin="10,0"
  1177. VerticalAlignment="Center" />
  1178. <ComboBox x:Name="cmbSelectPoint"
  1179. Grid.Row="2"
  1180. Grid.Column="0"
  1181. MinWidth="80"
  1182. materialDesign:HintAssist.Hint="{lex:Loc 选择点}"
  1183. Margin="10,0"
  1184. ItemsSource="{Binding Points}"
  1185. SelectedItem="{Binding SelectedPointInComboBox,Mode=TwoWay}">
  1186. <ComboBox.ItemTemplate>
  1187. <DataTemplate>
  1188. <StackPanel HorizontalAlignment="Left"
  1189. Orientation="Horizontal">
  1190. <TextBlock Text="{Binding Number,StringFormat={}{0}:}" />
  1191. <TextBlock Text="{Binding Label}" />
  1192. </StackPanel>
  1193. </DataTemplate>
  1194. </ComboBox.ItemTemplate>
  1195. </ComboBox>
  1196. <TextBlock Grid.Row="1"
  1197. Grid.Column="1"
  1198. Text="{lex:Loc 动作指令,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
  1199. Margin="10,0"
  1200. VerticalAlignment="Center" />
  1201. <ComboBox x:Name="cmbSelectMotioncmd"
  1202. Grid.Row="2"
  1203. Grid.Column="1"
  1204. MinWidth="80"
  1205. Margin="10,0"
  1206. materialDesign:HintAssist.Hint="{lex:Loc 动作指令}"
  1207. ItemsSource="{ext:EnumBindingSource EnumType=enums:MotionCommand}"
  1208. SelectedItem="{Binding DataContext.SelectMotionCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
  1209. <Button Grid.Row="2"
  1210. Grid.Column="2"
  1211. Content="{lex:Loc 执行动作}"
  1212. Margin="2.0"
  1213. Command="{Binding DataContext.ExecuteMotion,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}">
  1214. <Button.CommandParameter>
  1215. <MultiBinding Converter="{StaticResource MultiParameterConverter}">
  1216. <Binding ElementName="cmbSelectPoint"
  1217. Path="SelectedItem" />
  1218. <Binding ElementName="cmbSelectMotioncmd"
  1219. Path="SelectedItem" />
  1220. </MultiBinding>
  1221. </Button.CommandParameter>
  1222. </Button>
  1223. <Button Grid.Row="3"
  1224. Grid.Column="0"
  1225. Content="{lex:Loc 示教}"
  1226. Margin="2,0"
  1227. HorizontalAlignment="Right"
  1228. Command="{Binding DataContext.TechPointCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
  1229. </Grid>
  1230. <ItemsControl Grid.Row="2"
  1231. ItemsSource="{Binding AdditionalAxisList}">
  1232. <ItemsControl.ItemTemplate>
  1233. <DataTemplate>
  1234. <Border Padding="6"
  1235. Margin="0,2"
  1236. Background="{DynamicResource MaterialDesignPaper}">
  1237. <DockPanel LastChildFill="False"
  1238. VerticalAlignment="Center">
  1239. <StackPanel Orientation="Horizontal"
  1240. DockPanel.Dock="Left"
  1241. VerticalAlignment="Center">
  1242. <TextBlock Text="{Binding Name}"
  1243. Width="140"
  1244. VerticalAlignment="Center" />
  1245. <TextBlock Text="{Binding CurrentPosition, StringFormat='{}{0:F3} mm'}"
  1246. Width="140"
  1247. Margin="10,0"
  1248. VerticalAlignment="Center" />
  1249. </StackPanel>
  1250. <StackPanel Orientation="Horizontal"
  1251. HorizontalAlignment="Right"
  1252. DockPanel.Dock="Right">
  1253. <Button Width="60"
  1254. Height="36"
  1255. Margin="6,0"
  1256. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1257. Command="{Binding DataContext.AdditionalAxisJogMinusCommand, RelativeSource={RelativeSource AncestorType=UserControl}}"
  1258. CommandParameter="{Binding}">
  1259. <StackPanel Orientation="Vertical">
  1260. <materialDesign:PackIcon Kind="ArrowLeftBold"
  1261. Width="26"
  1262. Height="26" />
  1263. <TextBlock Text="-"
  1264. HorizontalAlignment="Center" />
  1265. </StackPanel>
  1266. </Button>
  1267. <Button Width="60"
  1268. Height="36"
  1269. Margin="6,0"
  1270. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1271. Command="{Binding DataContext.AdditionalAxisJogPlusCommand, RelativeSource={RelativeSource AncestorType=UserControl}}"
  1272. CommandParameter="{Binding}">
  1273. <StackPanel Orientation="Vertical">
  1274. <materialDesign:PackIcon Kind="ArrowRightBold"
  1275. Width="26"
  1276. Height="26" />
  1277. <TextBlock Text="+"
  1278. HorizontalAlignment="Center" />
  1279. </StackPanel>
  1280. </Button>
  1281. <Button Content="上使能"
  1282. Width="60"
  1283. Height="36"
  1284. Margin="6,0"
  1285. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1286. Command="{Binding DataContext.AdditionalAxisMotorOnCommand, RelativeSource={RelativeSource AncestorType=UserControl}}"
  1287. CommandParameter="{Binding}" />
  1288. <Button Content="下使能"
  1289. Width="60"
  1290. Height="36"
  1291. Margin="6,0"
  1292. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1293. Command="{Binding DataContext.AdditionalAxisMotorOffCommand, RelativeSource={RelativeSource AncestorType=UserControl}}"
  1294. CommandParameter="{Binding}" />
  1295. </StackPanel>
  1296. </DockPanel>
  1297. </Border>
  1298. </DataTemplate>
  1299. </ItemsControl.ItemTemplate>
  1300. </ItemsControl>
  1301. </Grid>
  1302. </Viewbox>
  1303. </Grid>
  1304. </Grid>
  1305. </materialDesign:DrawerHost>
  1306. <StackPanel Grid.Row="2"
  1307. Orientation="Horizontal"
  1308. HorizontalAlignment="Center"
  1309. VerticalAlignment="Center"
  1310. Margin="20">
  1311. <Button Content="{lex:Loc 下一步}"
  1312. IsEnabled="{Binding IsAllowEdit}"
  1313. MinWidth="100"
  1314. HorizontalAlignment="Center"
  1315. VerticalAlignment="Center"
  1316. materialDesign:ButtonAssist.CornerRadius="10"
  1317. Style="{StaticResource MaterialDesignRaisedButton}"
  1318. Command="{Binding NextCommand}" />
  1319. </StackPanel>
  1320. </Grid>
  1321. </UserControl>