PlcPointParams.xaml 103 KB

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