PlcPointParams.xaml 95 KB

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