PlcPointParams.xaml 89 KB

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