PlcPointParams.xaml 120 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641
  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. />
  127. <ComboBox Margin="5,0,10,0"
  128. IsEnabled="{Binding IsGrap,Converter={StaticResource InvertBooleanConverter}}"
  129. ItemsSource="{Binding CameraList}"
  130. SelectedItem="{Binding SelectedCamera}"
  131. materialDesign:HintAssist.Hint="{lex:Loc 选择相机}">
  132. <ComboBox.ItemTemplate>
  133. <DataTemplate>
  134. <StackPanel Orientation="Horizontal">
  135. <materialDesign:PackIcon Kind="Camera" />
  136. <TextBlock Text="{Binding CameraName}"
  137. Margin="6,0" />
  138. </StackPanel>
  139. </DataTemplate>
  140. </ComboBox.ItemTemplate>
  141. </ComboBox>
  142. <Button Grid.Column="0"
  143. Content="{lex:Loc 开始采集}"
  144. MinWidth="100"
  145. materialDesign:ButtonAssist.CornerRadius="10"
  146. Style="{StaticResource MaterialDesignRaisedButton}"
  147. Command="{Binding StartGrabbingCommand}" />
  148. <Button Grid.Column="0"
  149. Content="{lex:Loc 停止采集}"
  150. IsEnabled="{Binding IsAllowEdit}"
  151. MinWidth="100"
  152. Margin="10,0"
  153. materialDesign:ButtonAssist.CornerRadius="10"
  154. Style="{StaticResource MaterialDesignRaisedButton}"
  155. Command="{Binding StopGrabbingCommand}" />
  156. <TextBlock Text="{Binding Message}"
  157. VerticalAlignment="Center"
  158. Foreground="Gray" />
  159. </StackPanel>
  160. </Grid>
  161. </materialDesign:DrawerHost.LeftDrawerContent>
  162. <Grid>
  163. <Grid.ColumnDefinitions>
  164. <ColumnDefinition Width="auto" />
  165. <ColumnDefinition Width="*" />
  166. </Grid.ColumnDefinitions>
  167. <Expander Grid.Column="0"
  168. ExpandDirection="Right"
  169. Background="Transparent">
  170. <Expander.Header>
  171. <TextBlock RenderTransformOrigin=".5,.5"
  172. Text="Navigation Description">
  173. <TextBlock.LayoutTransform>
  174. <RotateTransform Angle="90" />
  175. </TextBlock.LayoutTransform>
  176. </TextBlock>
  177. </Expander.Header>
  178. <ScrollViewer>
  179. <StackPanel Margin="8,24,16,24"
  180. Orientation="Vertical">
  181. <Image Source="pack://application:,,,/TeamAAS-VP;component/Resources/Images/9机器人点位.png"
  182. Stretch="Uniform"
  183. Width="350"
  184. HorizontalAlignment="Center"
  185. VerticalAlignment="Top" />
  186. <TextBlock Text="{lex:Loc 机器人点位示教}" />
  187. <TextBlock Foreground="Gray"
  188. TextWrapping="Wrap"
  189. Text="{lex:Loc 机器人点位示教描述}" />
  190. </StackPanel>
  191. </ScrollViewer>
  192. </Expander>
  193. <Grid Grid.Column="1">
  194. <Grid.ColumnDefinitions>
  195. <ColumnDefinition Width="*" />
  196. <ColumnDefinition Width="auto" />
  197. </Grid.ColumnDefinitions>
  198. <DockPanel Grid.Column="0">
  199. <!--选项列表-->
  200. <ListBox Height="80"
  201. DockPanel.Dock="Top"
  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. <ListBoxItem>
  210. <ListBoxItem.Style>
  211. <Style TargetType="ListBoxItem"
  212. BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}">
  213. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon"
  214. Value="Circle" />
  215. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon"
  216. Value="CircleOutline" />
  217. </Style>
  218. </ListBoxItem.Style>
  219. <TextBlock Text="{lex:Loc 取料拍照点位}" />
  220. </ListBoxItem>
  221. <ListBoxItem>
  222. <ListBoxItem.Style>
  223. <Style TargetType="ListBoxItem"
  224. BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}">
  225. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon"
  226. Value="Circle" />
  227. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon"
  228. Value="CircleOutline" />
  229. </Style>
  230. </ListBoxItem.Style>
  231. <TextBlock Text="{lex:Loc 取料点位}" />
  232. </ListBoxItem>
  233. <ListBoxItem>
  234. <ListBoxItem.Style>
  235. <Style TargetType="ListBoxItem"
  236. BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}">
  237. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon"
  238. Value="Circle" />
  239. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon"
  240. Value="CircleOutline" />
  241. </Style>
  242. </ListBoxItem.Style>
  243. <TextBlock Text="{lex:Loc 下相机二次定位点位}" />
  244. </ListBoxItem>
  245. <ListBoxItem>
  246. <ListBoxItem.Style>
  247. <Style TargetType="ListBoxItem"
  248. BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}">
  249. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon"
  250. Value="Circle" />
  251. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon"
  252. Value="CircleOutline" />
  253. </Style>
  254. </ListBoxItem.Style>
  255. <TextBlock Text="{lex:Loc 锁附拍照点位}" />
  256. </ListBoxItem>
  257. <ListBoxItem>
  258. <ListBoxItem.Style>
  259. <Style TargetType="ListBoxItem"
  260. BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}">
  261. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon"
  262. Value="Circle" />
  263. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon"
  264. Value="CircleOutline" />
  265. </Style>
  266. </ListBoxItem.Style>
  267. <TextBlock Text="{lex:Loc 锁附点位}" />
  268. </ListBoxItem>
  269. <ListBoxItem>
  270. <ListBoxItem.Style>
  271. <Style TargetType="ListBoxItem"
  272. BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}">
  273. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon"
  274. Value="Circle" />
  275. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon"
  276. Value="CircleOutline" />
  277. </Style>
  278. </ListBoxItem.Style>
  279. <TextBlock Text="{lex:Loc 复检点位}" />
  280. </ListBoxItem>
  281. </ListBox>
  282. <!--点位列表操作按钮面板-->
  283. <StackPanel DockPanel.Dock="Bottom"
  284. Orientation="Horizontal">
  285. <Button Content="{lex:Loc 添加点}"
  286. Margin="5,2"
  287. MinWidth="80"
  288. materialDesign:ButtonAssist.CornerRadius="5"
  289. Command="{Binding AddPointCommand}" />
  290. <Button Content="{lex:Loc 删除点}"
  291. Margin="5,2"
  292. MinWidth="80"
  293. materialDesign:ButtonAssist.CornerRadius="5"
  294. Command="{Binding DeletePointCommand}" />
  295. <Button Content="{lex:Loc 上移}"
  296. Margin="5,2"
  297. MinWidth="80"
  298. materialDesign:ButtonAssist.CornerRadius="5"
  299. Command="{Binding MovePointUpCommand}" />
  300. <Button Content="{lex:Loc 下移}"
  301. Margin="5,2"
  302. MinWidth="80"
  303. materialDesign:ButtonAssist.CornerRadius="5"
  304. Command="{Binding MovePointDownCommand}" />
  305. <Button Content="{lex:Loc CAD导入点位}"
  306. Margin="5,2"
  307. MinWidth="80"
  308. d:Visibility="Visible"
  309. materialDesign:ButtonAssist.CornerRadius="5"
  310. Command="{Binding ImportCadPointCommand}">
  311. <Button.Style>
  312. <Style TargetType="Button"
  313. BasedOn="{StaticResource MaterialDesignRaisedDarkButton}">
  314. <Setter Property="Visibility"
  315. Value="Collapsed" />
  316. <Style.Triggers>
  317. <!-- 当 SelectedIndex == 0 时显示此面板 -->
  318. <DataTrigger Binding="{Binding SelectedIndex}"
  319. Value="4">
  320. <Setter Property="Visibility"
  321. Value="Visible" />
  322. </DataTrigger>
  323. </Style.Triggers>
  324. </Style>
  325. </Button.Style>
  326. </Button>
  327. </StackPanel>
  328. <Border BorderBrush="LightGray"
  329. BorderThickness="1"
  330. Height="1"
  331. DockPanel.Dock="Bottom" />
  332. <DockPanel>
  333. <!--不同点位类型的操作面板-->
  334. <StackPanel DockPanel.Dock="Bottom"
  335. Orientation="Vertical">
  336. <!--取料拍照点位面板-->
  337. <StackPanel x:Name="AutoCorrectPickPointPanel"
  338. Orientation="Vertical"
  339. d:Visibility="Visible">
  340. <StackPanel.Style>
  341. <Style TargetType="StackPanel">
  342. <Setter Property="Visibility"
  343. Value="Collapsed" />
  344. <Style.Triggers>
  345. <!-- 当 SelectedIndex == 0 时显示此面板 -->
  346. <DataTrigger Binding="{Binding SelectedIndex}"
  347. Value="0">
  348. <Setter Property="Visibility"
  349. Value="Visible" />
  350. </DataTrigger>
  351. </Style.Triggers>
  352. </Style>
  353. </StackPanel.Style>
  354. <StackPanel Orientation="Horizontal">
  355. <ToggleButton x:Name="btn_AutoCorrectPickPoint"
  356. d:IsChecked="True"
  357. Style="{StaticResource MaterialDesignSwitchToggleButton}">
  358. <materialDesign:PackIcon Kind="Pin"
  359. RenderTransformOrigin=".5,.5">
  360. <materialDesign:PackIcon.RenderTransform>
  361. <RotateTransform Angle="45" />
  362. </materialDesign:PackIcon.RenderTransform>
  363. </materialDesign:PackIcon>
  364. <materialDesign:ToggleButtonAssist.OnContent>
  365. <materialDesign:PackIcon Kind="Pin" />
  366. </materialDesign:ToggleButtonAssist.OnContent>
  367. </ToggleButton>
  368. <TextBlock Text="{lex:Loc 通过相机自动矫正取料点位}"
  369. FontWeight="Bold"
  370. Margin="0,10,0,5" />
  371. </StackPanel>
  372. <ScrollViewer HorizontalScrollBarVisibility="Auto"
  373. VerticalScrollBarVisibility="Disabled">
  374. <StackPanel Orientation="Horizontal"
  375. HorizontalAlignment="Left"
  376. Visibility="{Binding ElementName=btn_AutoCorrectPickPoint,Path=IsChecked, Converter={StaticResource BooleanToVisibilityConverter}}">
  377. <TextBlock Text="{lex:Loc 选择拍照点}"
  378. VerticalAlignment="Center" />
  379. <ComboBox MinWidth="50"
  380. Margin="5,0,0,0"
  381. ItemsSource="{Binding Points}"
  382. SelectedItem="{Binding SelectedCameraForPickPoint}">
  383. <ComboBox.ItemTemplate>
  384. <DataTemplate>
  385. <StackPanel HorizontalAlignment="Left"
  386. Orientation="Horizontal">
  387. <TextBlock Text="{Binding Number,StringFormat={}{0}:}" />
  388. <TextBlock Text="{Binding Label}" />
  389. </StackPanel>
  390. </DataTemplate>
  391. </ComboBox.ItemTemplate>
  392. </ComboBox>
  393. <TextBlock Margin="5,0,0,0"
  394. VerticalAlignment="Center"
  395. Text="{lex:Loc 选择移动视觉流程}" />
  396. <ComboBox MinWidth="50"
  397. Margin="5,0,0,0"
  398. ItemsSource="{Binding ProcedureModels}"
  399. SelectedItem="{Binding SelectProcedure}">
  400. <ComboBox.ItemTemplate>
  401. <DataTemplate>
  402. <StackPanel Orientation="Horizontal">
  403. <materialDesign:PackIcon Kind="VideoOutline" />
  404. <TextBlock Text="{Binding CameraName}"
  405. Margin="6,0" />
  406. <materialDesign:PackIcon Kind="ProgressWrench" />
  407. <TextBlock Text="{Binding Name}"
  408. Margin="6,0" />
  409. </StackPanel>
  410. </DataTemplate>
  411. </ComboBox.ItemTemplate>
  412. </ComboBox>
  413. <TextBlock Margin="5,0,0,0"
  414. VerticalAlignment="Center"
  415. Text="{lex:Loc 选择要校准的取料位:}" />
  416. <ComboBox MinWidth="50"
  417. Margin="5,0,0,0"
  418. ItemsSource="{Binding PickPoints}"
  419. SelectedItem="{Binding SelectedPickPoint}">
  420. <ComboBox.ItemTemplate>
  421. <DataTemplate>
  422. <StackPanel HorizontalAlignment="Left"
  423. Orientation="Horizontal">
  424. <TextBlock Text="{Binding Number,StringFormat={}{0}:}" />
  425. <TextBlock Text="{Binding Label}" />
  426. </StackPanel>
  427. </DataTemplate>
  428. </ComboBox.ItemTemplate>
  429. </ComboBox>
  430. <Button Content="{lex:Loc 执行校准}"
  431. Margin="10,0,0,0"
  432. materialDesign:ButtonAssist.CornerRadius="5"
  433. Command="{Binding AutoCorrectPickPointCommand}" />
  434. </StackPanel>
  435. </ScrollViewer>
  436. </StackPanel>
  437. <!--锁付拍照面板-->
  438. <StackPanel x:Name="LockCameraPanel"
  439. Orientation="Vertical"
  440. d:Visibility="Visible">
  441. <StackPanel.Style>
  442. <Style TargetType="StackPanel">
  443. <Setter Property="Visibility"
  444. Value="Collapsed" />
  445. <Style.Triggers>
  446. <!-- 当 SelectedIndex == 4 时显示此面板 -->
  447. <DataTrigger Binding="{Binding SelectedIndex}"
  448. Value="3">
  449. <Setter Property="Visibility"
  450. Value="Visible" />
  451. </DataTrigger>
  452. </Style.Triggers>
  453. </Style>
  454. </StackPanel.Style>
  455. <ScrollViewer HorizontalScrollBarVisibility="Auto"
  456. VerticalScrollBarVisibility="Disabled">
  457. <StackPanel Orientation="Vertical">
  458. <TextBlock Text="{lex:Loc 拍1锁多时相机拍照位置对应的产品坐标系中位置}" />
  459. <Grid HorizontalAlignment="Left">
  460. <Grid.ColumnDefinitions>
  461. <ColumnDefinition Width="Auto" />
  462. <ColumnDefinition Width="Auto" />
  463. <ColumnDefinition Width="Auto" />
  464. <ColumnDefinition Width="Auto" />
  465. <ColumnDefinition Width="Auto" />
  466. <ColumnDefinition Width="Auto" />
  467. <ColumnDefinition Width="Auto" />
  468. <ColumnDefinition Width="Auto" />
  469. <ColumnDefinition Width="Auto" />
  470. </Grid.ColumnDefinitions>
  471. <Grid.RowDefinitions>
  472. <RowDefinition Height="Auto" />
  473. <RowDefinition Height="Auto" />
  474. </Grid.RowDefinitions>
  475. <!--拍照1-->
  476. <TextBlock Grid.Row="0"
  477. Grid.Column="0"
  478. Text="{lex:Loc 拍照1}"
  479. VerticalAlignment="Center" />
  480. <TextBlock Grid.Row="0"
  481. Grid.Column="1"
  482. Margin="5,0,0,0"
  483. VerticalAlignment="Center"
  484. Text="X:" />
  485. <mah:NumericUpDown Grid.Row="0"
  486. Grid.Column="2"
  487. Value="{Binding SelectProduct.ScrewCameraLocalPos1.X_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  488. Minimum="-9999.000"
  489. Maximum="9999.000"
  490. Interval="0.1"
  491. StringFormat="F3"
  492. MinWidth="60"
  493. HorizontalAlignment="Stretch"
  494. VerticalAlignment="Center"
  495. Margin="0"
  496. Padding="2" />
  497. <TextBlock Grid.Row="0"
  498. Grid.Column="3"
  499. Margin="5,0,0,0"
  500. VerticalAlignment="Center"
  501. Text="Y:" />
  502. <mah:NumericUpDown Grid.Row="0"
  503. Grid.Column="4"
  504. Value="{Binding SelectProduct.ScrewCameraLocalPos1.Y_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  505. Minimum="-9999.000"
  506. Maximum="9999.000"
  507. Interval="0.1"
  508. StringFormat="F3"
  509. MinWidth="60"
  510. HorizontalAlignment="Stretch"
  511. VerticalAlignment="Center"
  512. Margin="0"
  513. Padding="2" />
  514. <TextBlock Grid.Row="0"
  515. Grid.Column="5"
  516. Margin="5,0,0,0"
  517. VerticalAlignment="Center"
  518. Text="Z:" />
  519. <mah:NumericUpDown Grid.Row="0"
  520. Grid.Column="6"
  521. Value="{Binding SelectProduct.ScrewCameraLocalPos1.Z_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  522. Minimum="-9999.000"
  523. Maximum="9999.000"
  524. Interval="0.1"
  525. StringFormat="F3"
  526. MinWidth="60"
  527. HorizontalAlignment="Stretch"
  528. VerticalAlignment="Center"
  529. Margin="0"
  530. Padding="2" />
  531. <!--拍照2-->
  532. <TextBlock Grid.Row="1"
  533. Grid.Column="0"
  534. Text="{lex:Loc 拍照2}"
  535. VerticalAlignment="Center" />
  536. <TextBlock Grid.Row="1"
  537. Grid.Column="1"
  538. Margin="5,0,0,0"
  539. VerticalAlignment="Center"
  540. Text="X:" />
  541. <mah:NumericUpDown Grid.Row="1"
  542. Grid.Column="2"
  543. Value="{Binding SelectProduct.ScrewCameraLocalPos2.X_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  544. Minimum="-9999.000"
  545. Maximum="9999.000"
  546. Interval="0.1"
  547. StringFormat="F3"
  548. MinWidth="60"
  549. HorizontalAlignment="Stretch"
  550. VerticalAlignment="Center"
  551. Margin="0"
  552. Padding="2" />
  553. <TextBlock Grid.Row="1"
  554. Grid.Column="3"
  555. Margin="5,0,0,0"
  556. VerticalAlignment="Center"
  557. Text="Y:" />
  558. <mah:NumericUpDown Grid.Row="1"
  559. Grid.Column="4"
  560. Value="{Binding SelectProduct.ScrewCameraLocalPos2.Y_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  561. Minimum="-9999.000"
  562. Maximum="9999.000"
  563. Interval="0.1"
  564. StringFormat="F3"
  565. MinWidth="60"
  566. HorizontalAlignment="Stretch"
  567. VerticalAlignment="Center"
  568. Margin="0"
  569. Padding="2" />
  570. <TextBlock Grid.Row="1"
  571. Grid.Column="5"
  572. Margin="5,0,0,0"
  573. VerticalAlignment="Center"
  574. Text="Z:" />
  575. <mah:NumericUpDown Grid.Row="1"
  576. Grid.Column="6"
  577. Value="{Binding SelectProduct.ScrewCameraLocalPos2.Z_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  578. Minimum="-9999.000"
  579. Maximum="9999.000"
  580. Interval="0.1"
  581. StringFormat="F3"
  582. MinWidth="60"
  583. HorizontalAlignment="Stretch"
  584. VerticalAlignment="Center"
  585. Margin="0"
  586. Padding="2" />
  587. <!--通过CAD导入点位按钮-->
  588. <Button Content="{lex:Loc 通过CAD导入点位}"
  589. Grid.Row="0"
  590. Grid.Column="7"
  591. Grid.RowSpan="2"
  592. Margin="10,0"
  593. MinWidth="100"
  594. HorizontalAlignment="Left"
  595. materialDesign:ButtonAssist.CornerRadius="5"
  596. Command="{Binding ImportCadLockCameraPointCommand}" />
  597. <!--通过相机自动矫正锁附点位-->
  598. <Button Content="{lex:Loc 通过相机自动矫正锁附点位}"
  599. Grid.Row="0"
  600. Grid.Column="8"
  601. Grid.RowSpan="2"
  602. Margin="10,0"
  603. MinWidth="150"
  604. HorizontalAlignment="Left"
  605. materialDesign:ButtonAssist.CornerRadius="5"
  606. Command="{Binding AutoCorrectLockPointCommand}" />
  607. </Grid>
  608. </StackPanel>
  609. </ScrollViewer>
  610. </StackPanel>
  611. <!--锁付点位面板-->
  612. <StackPanel x:Name="LockPointPanel"
  613. Orientation="Vertical"
  614. d:Visibility="Visible">
  615. <StackPanel.Style>
  616. <Style TargetType="StackPanel">
  617. <Setter Property="Visibility"
  618. Value="Collapsed" />
  619. <Style.Triggers>
  620. <!-- 当 SelectedIndex == 4 时显示此面板 -->
  621. <DataTrigger Binding="{Binding SelectedIndex}"
  622. Value="4">
  623. <Setter Property="Visibility"
  624. Value="Visible" />
  625. </DataTrigger>
  626. </Style.Triggers>
  627. </Style>
  628. </StackPanel.Style>
  629. <ScrollViewer HorizontalScrollBarVisibility="Auto"
  630. VerticalScrollBarVisibility="Disabled">
  631. <StackPanel Orientation="Vertical">
  632. <StackPanel Orientation="Horizontal"
  633. HorizontalAlignment="Left">
  634. <TextBlock Text="{lex:Loc 批量设置所有锁付点的起始Z轴高度}"
  635. VerticalAlignment="Center" />
  636. <TextBlock Text="{lex:Loc 起始Z轴高度}"
  637. Margin="5,0,0,0"
  638. VerticalAlignment="Center" />
  639. <mah:NumericUpDown Value="{Binding LockPointStartZ, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  640. Minimum="-9999.000"
  641. Maximum="9999.000"
  642. Interval="0.1"
  643. StringFormat="F3"
  644. MinWidth="60"
  645. HorizontalAlignment="Stretch"
  646. VerticalAlignment="Center"
  647. Margin="0"
  648. Padding="2" />
  649. <TextBlock Margin="0"
  650. VerticalAlignment="Center"
  651. Text="mm" />
  652. <!--应用按钮-->
  653. <Button Content="{lex:Loc 应用}"
  654. Margin="10,0,0,0"
  655. MinWidth="60"
  656. HorizontalAlignment="Left"
  657. materialDesign:ButtonAssist.CornerRadius="5"
  658. Command="{Binding ApplyLockPointStartZCommand}" />
  659. </StackPanel>
  660. <StackPanel Orientation="Horizontal"
  661. HorizontalAlignment="Left">
  662. <TextBlock Text="{lex:Loc 批量设置所有锁付点的锁付深度}"
  663. VerticalAlignment="Center" />
  664. <TextBlock Text="{lex:Loc 锁付深度}"
  665. Margin="5,0,0,0"
  666. VerticalAlignment="Center" />
  667. <mah:NumericUpDown Value="{Binding LockZDepth, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  668. Minimum="-9999.000"
  669. Maximum="9999.000"
  670. Interval="0.1"
  671. StringFormat="F3"
  672. MinWidth="60"
  673. HorizontalAlignment="Stretch"
  674. VerticalAlignment="Center"
  675. Margin="0"
  676. Padding="2" />
  677. <TextBlock Margin="0"
  678. VerticalAlignment="Center"
  679. Text="mm" />
  680. <!--应用按钮-->
  681. <Button Content="{lex:Loc 应用}"
  682. Margin="10,0,0,0"
  683. MinWidth="60"
  684. HorizontalAlignment="Left"
  685. materialDesign:ButtonAssist.CornerRadius="5"
  686. Command="{Binding ApplyLockPointDepthCommand}" />
  687. </StackPanel>
  688. <StackPanel Orientation="Horizontal"
  689. HorizontalAlignment="Left">
  690. <TextBlock Text="{lex:Loc 批量设置所有锁付点的各轴速度}"
  691. VerticalAlignment="Center" />
  692. <TextBlock Text="{lex:Loc X轴速度}"
  693. Margin="5,0,0,0"
  694. VerticalAlignment="Center" />
  695. <mah:NumericUpDown Value="{Binding LockXSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  696. Minimum="0"
  697. Maximum="20000"
  698. Interval="1"
  699. StringFormat="F1"
  700. MinWidth="60"
  701. HorizontalAlignment="Stretch"
  702. VerticalAlignment="Center"
  703. Margin="0"
  704. Padding="2" />
  705. <TextBlock Margin="0"
  706. VerticalAlignment="Center"
  707. Text="mm/s" />
  708. <TextBlock Text="{lex:Loc Y轴速度}"
  709. Margin="5,0,0,0"
  710. VerticalAlignment="Center" />
  711. <mah:NumericUpDown Value="{Binding LockYSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  712. Minimum="0"
  713. Maximum="20000"
  714. Interval="1"
  715. StringFormat="F1"
  716. MinWidth="60"
  717. HorizontalAlignment="Stretch"
  718. VerticalAlignment="Center"
  719. Margin="0"
  720. Padding="2" />
  721. <TextBlock Margin="0"
  722. VerticalAlignment="Center"
  723. Text="mm/s" />
  724. <TextBlock Text="{lex:Loc Z轴速度}"
  725. Margin="5,0,0,0"
  726. VerticalAlignment="Center" />
  727. <mah:NumericUpDown Value="{Binding LockZSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  728. Minimum="0"
  729. Maximum="20000"
  730. Interval="1"
  731. StringFormat="F1"
  732. MinWidth="60"
  733. HorizontalAlignment="Stretch"
  734. VerticalAlignment="Center"
  735. Margin="0"
  736. Padding="2" />
  737. <TextBlock Margin="0"
  738. VerticalAlignment="Center"
  739. Text="mm/s" />
  740. <TextBlock Text="{lex:Loc Z轴锁付下降速度}"
  741. Margin="5,0,0,0"
  742. VerticalAlignment="Center" />
  743. <mah:NumericUpDown Value="{Binding LockZDescendSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  744. Minimum="0"
  745. Maximum="20000"
  746. Interval="1"
  747. StringFormat="F1"
  748. MinWidth="60"
  749. HorizontalAlignment="Stretch"
  750. VerticalAlignment="Center"
  751. Margin="0"
  752. Padding="2" />
  753. <TextBlock Margin="0"
  754. VerticalAlignment="Center"
  755. Text="mm/s" />
  756. <!--应用按钮-->
  757. <Button Content="{lex:Loc 应用}"
  758. Margin="10,0,0,0"
  759. MinWidth="60"
  760. HorizontalAlignment="Left"
  761. materialDesign:ButtonAssist.CornerRadius="5"
  762. Command="{Binding ApplyLockPointSpeedCommand}" />
  763. </StackPanel>
  764. <!--批量设置所有锁付点的供料器编号和电批程序编号-->
  765. <StackPanel Orientation="Horizontal"
  766. HorizontalAlignment="Left">
  767. <TextBlock Text="{lex:Loc 批量设置所有锁付点的供料器编号和电批程序编号}"
  768. VerticalAlignment="Center" />
  769. <TextBlock Text="{lex:Loc 供料器编号}"
  770. Margin="5,0,0,0"
  771. VerticalAlignment="Center" />
  772. <mah:NumericUpDown Value="{Binding LockFeederNumber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  773. Minimum="0"
  774. Maximum="9999"
  775. Interval="1"
  776. StringFormat="F0"
  777. MinWidth="60"
  778. HorizontalAlignment="Stretch"
  779. VerticalAlignment="Center"
  780. Margin="0"
  781. Padding="2" />
  782. <TextBlock Text="{lex:Loc 电批程序编号}"
  783. Margin="5,0,0,0"
  784. VerticalAlignment="Center" />
  785. <mah:NumericUpDown Value="{Binding LockScrewProgramNumber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  786. Minimum="0"
  787. Maximum="100"
  788. Interval="1"
  789. StringFormat="F0"
  790. MinWidth="60"
  791. HorizontalAlignment="Stretch"
  792. VerticalAlignment="Center"
  793. Margin="0"
  794. Padding="2" />
  795. <!--应用按钮-->
  796. <Button Content="{lex:Loc 应用}"
  797. Margin="10,0,0,0"
  798. MinWidth="60"
  799. HorizontalAlignment="Left"
  800. materialDesign:ButtonAssist.CornerRadius="5"
  801. Command="{Binding ApplyLockPointFeederAndScrewProgramCommand}" />
  802. </StackPanel>
  803. </StackPanel>
  804. </ScrollViewer>
  805. </StackPanel>
  806. </StackPanel>
  807. <!--点位表-->
  808. <DataGrid x:Name="dgPoints"
  809. AutoGenerateColumns="False"
  810. CanUserAddRows="False"
  811. CanUserDeleteRows="False"
  812. ColumnWidth="*"
  813. SelectionUnit="FullRow"
  814. SelectionMode="Single"
  815. SelectedItem="{Binding SelectedPointInDataGrid,Mode=TwoWay}"
  816. ItemsSource="{Binding Points}"
  817. HeadersVisibility="Column"
  818. HorizontalScrollBarVisibility="Auto"
  819. ScrollViewer.CanContentScroll="True"
  820. ScrollViewer.HorizontalScrollBarVisibility="Auto"
  821. GridLinesVisibility="All"
  822. VerticalGridLinesBrush="#D0D0D0">
  823. <DataGrid.Resources>
  824. <Style TargetType="DataGridCell">
  825. <Style.Resources>
  826. <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}"
  827. Color="#0078D7" />
  828. </Style.Resources>
  829. <Setter Property="MinHeight"
  830. Value="25" />
  831. <Setter Property="VerticalContentAlignment"
  832. Value="Center" />
  833. <Setter Property="HorizontalContentAlignment"
  834. Value="Center" />
  835. <Setter Property="VerticalAlignment"
  836. Value="Center" />
  837. <Setter Property="TextBlock.TextAlignment"
  838. Value="Center" />
  839. <Setter Property="Padding"
  840. Value="0" />
  841. <Style.Triggers>
  842. <Trigger Property="IsSelected"
  843. Value="True">
  844. <Setter Property="Foreground"
  845. Value="White" />
  846. </Trigger>
  847. </Style.Triggers>
  848. </Style>
  849. <!-- 为 TextBlock 添加默认居中样式 -->
  850. <Style TargetType="TextBlock">
  851. <Setter Property="TextAlignment"
  852. Value="Center" />
  853. <Setter Property="HorizontalAlignment"
  854. Value="Center" />
  855. <Setter Property="VerticalAlignment"
  856. Value="Center" />
  857. </Style>
  858. </DataGrid.Resources>
  859. <DataGrid.Columns>
  860. <DataGridTextColumn Header="{lex:Loc 编号}"
  861. IsReadOnly="True"
  862. MinWidth="60"
  863. Width="Auto"
  864. Binding="{Binding Number, Mode=TwoWay, StringFormat={}{0:F0}}">
  865. </DataGridTextColumn>
  866. <DataGridTextColumn Header="{lex:Loc 标签}"
  867. MinWidth="100"
  868. Width="Auto"
  869. Binding="{Binding Label, Mode=TwoWay}" />
  870. <!--X 坐标-->
  871. <DataGridTemplateColumn Header="X位置"
  872. MinWidth="60"
  873. Width="Auto">
  874. <DataGridTemplateColumn.CellTemplate>
  875. <DataTemplate>
  876. <TextBlock Text="{Binding X_Position, StringFormat={}{0:F3}}"
  877. HorizontalAlignment="Center"
  878. VerticalAlignment="Center" />
  879. </DataTemplate>
  880. </DataGridTemplateColumn.CellTemplate>
  881. <DataGridTemplateColumn.CellEditingTemplate>
  882. <DataTemplate>
  883. <mah:NumericUpDown Value="{Binding X_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  884. Minimum="-9999.000"
  885. Maximum="9999.000"
  886. Interval="0.1"
  887. StringFormat="F3"
  888. HorizontalAlignment="Stretch"
  889. VerticalAlignment="Center"
  890. Margin="0"
  891. Padding="2" />
  892. </DataTemplate>
  893. </DataGridTemplateColumn.CellEditingTemplate>
  894. </DataGridTemplateColumn>
  895. <!--X 速度-->
  896. <DataGridTemplateColumn Header="{lex:Loc X速度}"
  897. MinWidth="60"
  898. Width="Auto">
  899. <DataGridTemplateColumn.CellTemplate>
  900. <DataTemplate>
  901. <TextBlock Text="{Binding X_Velocity, StringFormat={}{0:F0}}"
  902. HorizontalAlignment="Center"
  903. VerticalAlignment="Center" />
  904. </DataTemplate>
  905. </DataGridTemplateColumn.CellTemplate>
  906. <DataGridTemplateColumn.CellEditingTemplate>
  907. <DataTemplate>
  908. <mah:NumericUpDown Value="{Binding X_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  909. Minimum="0"
  910. Maximum="9999.000"
  911. Interval="1"
  912. StringFormat="F3"
  913. HorizontalAlignment="Stretch"
  914. VerticalAlignment="Center"
  915. Margin="0"
  916. Padding="2" />
  917. </DataTemplate>
  918. </DataGridTemplateColumn.CellEditingTemplate>
  919. </DataGridTemplateColumn>
  920. <!--Y 坐标-->
  921. <DataGridTemplateColumn Header="{lex:Loc Y位置}"
  922. MinWidth="60"
  923. Width="Auto">
  924. <DataGridTemplateColumn.CellTemplate>
  925. <DataTemplate>
  926. <TextBlock Text="{Binding Y_Position, StringFormat={}{0:F3}}"
  927. HorizontalAlignment="Center"
  928. VerticalAlignment="Center" />
  929. </DataTemplate>
  930. </DataGridTemplateColumn.CellTemplate>
  931. <DataGridTemplateColumn.CellEditingTemplate>
  932. <DataTemplate>
  933. <mah:NumericUpDown Value="{Binding Y_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  934. Minimum="-9999.000"
  935. Maximum="9999.000"
  936. Interval="0.1"
  937. StringFormat="F3"
  938. HorizontalAlignment="Stretch"
  939. VerticalAlignment="Center"
  940. Margin="0"
  941. Padding="2" />
  942. </DataTemplate>
  943. </DataGridTemplateColumn.CellEditingTemplate>
  944. </DataGridTemplateColumn>
  945. <!--Y 速度-->
  946. <DataGridTemplateColumn Header="{lex:Loc Y速度}"
  947. MinWidth="60"
  948. Width="Auto">
  949. <DataGridTemplateColumn.CellTemplate>
  950. <DataTemplate>
  951. <TextBlock Text="{Binding Y_Velocity, StringFormat={}{0:F0}}"
  952. HorizontalAlignment="Center"
  953. VerticalAlignment="Center" />
  954. </DataTemplate>
  955. </DataGridTemplateColumn.CellTemplate>
  956. <DataGridTemplateColumn.CellEditingTemplate>
  957. <DataTemplate>
  958. <mah:NumericUpDown Value="{Binding Y_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  959. Minimum="0"
  960. Maximum="9999.000"
  961. Interval="1"
  962. StringFormat="F3"
  963. HorizontalAlignment="Stretch"
  964. VerticalAlignment="Center"
  965. Margin="0"
  966. Padding="2" />
  967. </DataTemplate>
  968. </DataGridTemplateColumn.CellEditingTemplate>
  969. </DataGridTemplateColumn>
  970. <!--Z 起点坐标-->
  971. <DataGridTemplateColumn Header="{lex:Loc Z起点位置}"
  972. MinWidth="60"
  973. Width="Auto">
  974. <DataGridTemplateColumn.CellTemplate>
  975. <DataTemplate>
  976. <TextBlock Text="{Binding Z_Position_Start, StringFormat={}{0:F3}}"
  977. HorizontalAlignment="Center"
  978. VerticalAlignment="Center" />
  979. </DataTemplate>
  980. </DataGridTemplateColumn.CellTemplate>
  981. <DataGridTemplateColumn.CellEditingTemplate>
  982. <DataTemplate>
  983. <mah:NumericUpDown Value="{Binding Z_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  984. Minimum="-9999.000"
  985. Maximum="9999.000"
  986. Interval="0.1"
  987. StringFormat="F3"
  988. HorizontalAlignment="Stretch"
  989. VerticalAlignment="Center"
  990. Margin="0"
  991. Padding="2" />
  992. </DataTemplate>
  993. </DataGridTemplateColumn.CellEditingTemplate>
  994. </DataGridTemplateColumn>
  995. <!--Z 起点速度-->
  996. <DataGridTemplateColumn Header="{lex:Loc Z起点速度}"
  997. MinWidth="60"
  998. Width="Auto">
  999. <DataGridTemplateColumn.CellTemplate>
  1000. <DataTemplate>
  1001. <TextBlock Text="{Binding Z_Velocity_Start, StringFormat={}{0:F0}}"
  1002. HorizontalAlignment="Center"
  1003. VerticalAlignment="Center" />
  1004. </DataTemplate>
  1005. </DataGridTemplateColumn.CellTemplate>
  1006. <DataGridTemplateColumn.CellEditingTemplate>
  1007. <DataTemplate>
  1008. <mah:NumericUpDown Value="{Binding Z_Velocity_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1009. Minimum="0"
  1010. Maximum="9999.000"
  1011. Interval="1"
  1012. StringFormat="F3"
  1013. HorizontalAlignment="Stretch"
  1014. VerticalAlignment="Center"
  1015. Margin="0"
  1016. Padding="2" />
  1017. </DataTemplate>
  1018. </DataGridTemplateColumn.CellEditingTemplate>
  1019. </DataGridTemplateColumn>
  1020. <!--Z 终点坐标-->
  1021. <DataGridTemplateColumn Header="{lex:Loc Z终点位置}"
  1022. MinWidth="60"
  1023. Width="Auto">
  1024. <DataGridTemplateColumn.CellTemplate>
  1025. <DataTemplate>
  1026. <TextBlock Text="{Binding Z_Position_Stop, StringFormat={}{0:F3}}"
  1027. HorizontalAlignment="Center"
  1028. VerticalAlignment="Center" />
  1029. </DataTemplate>
  1030. </DataGridTemplateColumn.CellTemplate>
  1031. <DataGridTemplateColumn.CellEditingTemplate>
  1032. <DataTemplate>
  1033. <mah:NumericUpDown Value="{Binding Z_Position_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1034. Minimum="-9999.000"
  1035. Maximum="9999.000"
  1036. Interval="0.1"
  1037. StringFormat="F3"
  1038. HorizontalAlignment="Stretch"
  1039. VerticalAlignment="Center"
  1040. Margin="0"
  1041. Padding="2" />
  1042. </DataTemplate>
  1043. </DataGridTemplateColumn.CellEditingTemplate>
  1044. </DataGridTemplateColumn>
  1045. <!--Z 终点速度-->
  1046. <DataGridTemplateColumn Header="{lex:Loc Z终点速度}"
  1047. MinWidth="60"
  1048. Width="Auto">
  1049. <DataGridTemplateColumn.CellTemplate>
  1050. <DataTemplate>
  1051. <TextBlock Text="{Binding Z_Velocity_Stop, StringFormat={}{0:F0}}"
  1052. HorizontalAlignment="Center"
  1053. VerticalAlignment="Center" />
  1054. </DataTemplate>
  1055. </DataGridTemplateColumn.CellTemplate>
  1056. <DataGridTemplateColumn.CellEditingTemplate>
  1057. <DataTemplate>
  1058. <mah:NumericUpDown Value="{Binding Z_Velocity_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1059. Minimum="0"
  1060. Maximum="9999.000"
  1061. Interval="1"
  1062. StringFormat="F3"
  1063. HorizontalAlignment="Stretch"
  1064. VerticalAlignment="Center"
  1065. Margin="0"
  1066. Padding="2" />
  1067. </DataTemplate>
  1068. </DataGridTemplateColumn.CellEditingTemplate>
  1069. </DataGridTemplateColumn>
  1070. <!--U 坐标-->
  1071. <DataGridTemplateColumn Header="{lex:Loc U位置}"
  1072. MinWidth="60"
  1073. Width="Auto">
  1074. <DataGridTemplateColumn.CellTemplate>
  1075. <DataTemplate>
  1076. <TextBlock Text="{Binding U_Position, StringFormat={}{0:F3}}"
  1077. HorizontalAlignment="Center"
  1078. VerticalAlignment="Center" />
  1079. </DataTemplate>
  1080. </DataGridTemplateColumn.CellTemplate>
  1081. <DataGridTemplateColumn.CellEditingTemplate>
  1082. <DataTemplate>
  1083. <mah:NumericUpDown Value="{Binding U_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1084. Minimum="-9999.000"
  1085. Maximum="9999.000"
  1086. Interval="0.1"
  1087. StringFormat="F3"
  1088. HorizontalAlignment="Stretch"
  1089. VerticalAlignment="Center"
  1090. Margin="0"
  1091. Padding="2" />
  1092. </DataTemplate>
  1093. </DataGridTemplateColumn.CellEditingTemplate>
  1094. </DataGridTemplateColumn>
  1095. <!--U 速度-->
  1096. <DataGridTemplateColumn Header="{lex:Loc U速度}"
  1097. MinWidth="60"
  1098. Width="Auto">
  1099. <DataGridTemplateColumn.CellTemplate>
  1100. <DataTemplate>
  1101. <TextBlock Text="{Binding U_Velocity, StringFormat={}{0:F0}}"
  1102. HorizontalAlignment="Center"
  1103. VerticalAlignment="Center" />
  1104. </DataTemplate>
  1105. </DataGridTemplateColumn.CellTemplate>
  1106. <DataGridTemplateColumn.CellEditingTemplate>
  1107. <DataTemplate>
  1108. <mah:NumericUpDown Value="{Binding U_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1109. Minimum="0"
  1110. Maximum="9999.000"
  1111. Interval="1"
  1112. StringFormat="F3"
  1113. HorizontalAlignment="Stretch"
  1114. VerticalAlignment="Center"
  1115. Margin="0"
  1116. Padding="2" />
  1117. </DataTemplate>
  1118. </DataGridTemplateColumn.CellEditingTemplate>
  1119. </DataGridTemplateColumn>
  1120. <!--R 坐标-->
  1121. <DataGridTemplateColumn Header="{lex:Loc R位置}"
  1122. MinWidth="60"
  1123. Width="Auto">
  1124. <DataGridTemplateColumn.CellTemplate>
  1125. <DataTemplate>
  1126. <TextBlock Text="{Binding R_Position, StringFormat={}{0:F3}}"
  1127. HorizontalAlignment="Center"
  1128. VerticalAlignment="Center" />
  1129. </DataTemplate>
  1130. </DataGridTemplateColumn.CellTemplate>
  1131. <DataGridTemplateColumn.CellEditingTemplate>
  1132. <DataTemplate>
  1133. <mah:NumericUpDown Value="{Binding R_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1134. Minimum="-9999.000"
  1135. Maximum="9999.000"
  1136. Interval="0.1"
  1137. StringFormat="F3"
  1138. HorizontalAlignment="Stretch"
  1139. VerticalAlignment="Center"
  1140. Margin="0"
  1141. Padding="2" />
  1142. </DataTemplate>
  1143. </DataGridTemplateColumn.CellEditingTemplate>
  1144. </DataGridTemplateColumn>
  1145. <!--R 速度-->
  1146. <DataGridTemplateColumn Header="{lex:Loc R速度}"
  1147. MinWidth="60"
  1148. Width="Auto">
  1149. <DataGridTemplateColumn.CellTemplate>
  1150. <DataTemplate>
  1151. <TextBlock Text="{Binding R_Velocity, StringFormat={}{0:F0}}"
  1152. HorizontalAlignment="Center"
  1153. VerticalAlignment="Center" />
  1154. </DataTemplate>
  1155. </DataGridTemplateColumn.CellTemplate>
  1156. <DataGridTemplateColumn.CellEditingTemplate>
  1157. <DataTemplate>
  1158. <mah:NumericUpDown Value="{Binding R_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1159. Minimum="0"
  1160. Maximum="9999.000"
  1161. Interval="1"
  1162. StringFormat="F3"
  1163. HorizontalAlignment="Stretch"
  1164. VerticalAlignment="Center"
  1165. Margin="0"
  1166. Padding="2" />
  1167. </DataTemplate>
  1168. </DataGridTemplateColumn.CellEditingTemplate>
  1169. </DataGridTemplateColumn>
  1170. <!--扭矩-->
  1171. <DataGridTemplateColumn Header="{lex:Loc 扭矩}"
  1172. MinWidth="60"
  1173. Width="Auto">
  1174. <DataGridTemplateColumn.CellTemplate>
  1175. <DataTemplate>
  1176. <TextBlock Text="{Binding Torque, StringFormat={}{0:F3}}"
  1177. HorizontalAlignment="Center"
  1178. VerticalAlignment="Center" />
  1179. </DataTemplate>
  1180. </DataGridTemplateColumn.CellTemplate>
  1181. <DataGridTemplateColumn.CellEditingTemplate>
  1182. <DataTemplate>
  1183. <mah:NumericUpDown Value="{Binding Torque, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1184. Minimum="-9999.000"
  1185. Maximum="9999.000"
  1186. Interval="0.1"
  1187. StringFormat="F3"
  1188. HorizontalAlignment="Stretch"
  1189. VerticalAlignment="Center"
  1190. Margin="0"
  1191. Padding="2" />
  1192. </DataTemplate>
  1193. </DataGridTemplateColumn.CellEditingTemplate>
  1194. </DataGridTemplateColumn>
  1195. <!--供料器-->
  1196. <DataGridTemplateColumn Header="{lex:Loc 供料器}"
  1197. MinWidth="60"
  1198. Width="Auto">
  1199. <DataGridTemplateColumn.CellTemplate>
  1200. <DataTemplate>
  1201. <TextBlock Text="{Binding Feeder, StringFormat={}{0:F0}}"
  1202. HorizontalAlignment="Center"
  1203. VerticalAlignment="Center" />
  1204. </DataTemplate>
  1205. </DataGridTemplateColumn.CellTemplate>
  1206. <DataGridTemplateColumn.CellEditingTemplate>
  1207. <DataTemplate>
  1208. <mah:NumericUpDown Value="{Binding Feeder, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1209. Minimum="0"
  1210. Maximum="9999.000"
  1211. Interval="1"
  1212. StringFormat="F0"
  1213. HorizontalAlignment="Stretch"
  1214. VerticalAlignment="Center"
  1215. Margin="0"
  1216. Padding="2" />
  1217. </DataTemplate>
  1218. </DataGridTemplateColumn.CellEditingTemplate>
  1219. </DataGridTemplateColumn>
  1220. <!--电批程序号-->
  1221. <DataGridTemplateColumn Header="{lex:Loc 电批程序号}"
  1222. MinWidth="60"
  1223. Width="Auto">
  1224. <DataGridTemplateColumn.CellTemplate>
  1225. <DataTemplate>
  1226. <TextBlock Text="{Binding ScrewProNum, StringFormat={}{0:F0}}"
  1227. HorizontalAlignment="Center"
  1228. VerticalAlignment="Center" />
  1229. </DataTemplate>
  1230. </DataGridTemplateColumn.CellTemplate>
  1231. <DataGridTemplateColumn.CellEditingTemplate>
  1232. <DataTemplate>
  1233. <mah:NumericUpDown Value="{Binding ScrewProNum, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1234. Minimum="0"
  1235. Maximum="9999.000"
  1236. Interval="1"
  1237. StringFormat="F0"
  1238. HorizontalAlignment="Stretch"
  1239. VerticalAlignment="Center"
  1240. Margin="0"
  1241. Padding="2" />
  1242. </DataTemplate>
  1243. </DataGridTemplateColumn.CellEditingTemplate>
  1244. </DataGridTemplateColumn>
  1245. <DataGridTextColumn Header="{lex:Loc 描述}"
  1246. MinWidth="100"
  1247. Width="200"
  1248. Binding="{Binding Description, Mode=TwoWay}" />
  1249. </DataGrid.Columns>
  1250. </DataGrid>
  1251. </DockPanel>
  1252. </DockPanel>
  1253. <GridSplitter Grid.Column="0"
  1254. Grid.Row="0"
  1255. Grid.RowSpan="2"
  1256. Width="2"
  1257. Background="DeepSkyBlue"
  1258. VerticalAlignment="Stretch"
  1259. HorizontalAlignment="Right" />
  1260. <!--运动控制区-->
  1261. <Viewbox Grid.Column="1">
  1262. <Grid Grid.Row="1">
  1263. <Grid.ColumnDefinitions>
  1264. <ColumnDefinition Width="auto" />
  1265. <ColumnDefinition Width="auto" />
  1266. </Grid.ColumnDefinitions>
  1267. <ToggleButton Grid.ColumnSpan="2"
  1268. HorizontalAlignment="Left"
  1269. VerticalAlignment="Top"
  1270. materialDesign:ToggleButtonAssist.OnContent="{materialDesign:PackIcon Kind=ArrowLeft}"
  1271. Content="{materialDesign:PackIcon Kind=Camera}"
  1272. Style="{StaticResource MaterialDesignActionToggleButton}"
  1273. ToolTip="{lex:Loc 相机图像}"
  1274. Margin="5,0"
  1275. IsChecked="{Binding IsLeftDrawerOpen,ElementName=DrawerHost}" />
  1276. <Grid Grid.Column="0"
  1277. VerticalAlignment="Center">
  1278. <Grid.RowDefinitions>
  1279. <RowDefinition Height="auto" />
  1280. <RowDefinition Height="auto" />
  1281. <RowDefinition Height="auto" />
  1282. <RowDefinition Height="auto" />
  1283. <RowDefinition Height="auto" />
  1284. </Grid.RowDefinitions>
  1285. <Button Content="{lex:Loc 上使能}"
  1286. Grid.Row="0"
  1287. materialDesign:ButtonAssist.CornerRadius="10"
  1288. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1289. Command="{Binding DataContext.MotorCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1290. CommandParameter="True" />
  1291. <Button Content="{lex:Loc 下使能}"
  1292. Grid.Row="1"
  1293. Margin="0,10,0,10"
  1294. materialDesign:ButtonAssist.CornerRadius="10"
  1295. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1296. Command="{Binding DataContext.MotorCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1297. CommandParameter="False" />
  1298. <Button Content="{lex:Loc 复位错误}"
  1299. Grid.Row="2"
  1300. materialDesign:ButtonAssist.CornerRadius="10"
  1301. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1302. Command="{Binding DataContext.ResetCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
  1303. <Button Content="{lex:Loc 释放刹车}"
  1304. Grid.Row="3"
  1305. Margin="0,10,0,10"
  1306. materialDesign:ButtonAssist.CornerRadius="10"
  1307. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1308. Command="{Binding DataContext.sFreeCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
  1309. <Button Content="{lex:Loc 锁定刹车}"
  1310. Grid.Row="4"
  1311. materialDesign:ButtonAssist.CornerRadius="10"
  1312. Style="{StaticResource MaterialDesignRaisedDarkButton}"
  1313. Command="{Binding DataContext.SLockCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
  1314. </Grid>
  1315. <Grid Grid.Column="1">
  1316. <Grid.RowDefinitions>
  1317. <RowDefinition Height="auto" />
  1318. <RowDefinition Height="*" />
  1319. </Grid.RowDefinitions>
  1320. <TextBlock VerticalAlignment="Center"
  1321. Margin="10,0">
  1322. <TextBlock.Text>
  1323. <MultiBinding StringFormat="{}CurPos X: {0:F3} mm Y: {1:F3} mm Z: {2:F3} mm U: {3:F3} mm">
  1324. <Binding Path="Robot.CurrentPosition.X" />
  1325. <Binding Path="Robot.CurrentPosition.Y" />
  1326. <Binding Path="Robot.CurrentPosition.Z" />
  1327. <Binding Path="Robot.CurrentPosition.U" />
  1328. </MultiBinding>
  1329. </TextBlock.Text>
  1330. </TextBlock>
  1331. <Grid Grid.Row="1">
  1332. <Grid.ColumnDefinitions>
  1333. <ColumnDefinition Width="auto" />
  1334. <ColumnDefinition Width="auto" />
  1335. <ColumnDefinition Width="auto" />
  1336. <ColumnDefinition Width="auto" />
  1337. <ColumnDefinition Width="auto" />
  1338. <ColumnDefinition Width="auto" />
  1339. </Grid.ColumnDefinitions>
  1340. <Grid.RowDefinitions>
  1341. <RowDefinition Height="auto" />
  1342. <RowDefinition Height="auto" />
  1343. <RowDefinition Height="auto" />
  1344. <RowDefinition Height="auto" />
  1345. <RowDefinition Height="auto" />
  1346. <RowDefinition Height="auto" />
  1347. </Grid.RowDefinitions>
  1348. <Grid.Resources>
  1349. <Style TargetType="Button"
  1350. BasedOn="{StaticResource MaterialDesignRaisedDarkButton}">
  1351. <Setter Property="Width"
  1352. Value="60" />
  1353. <Setter Property="Height"
  1354. Value="60" />
  1355. <Setter Property="FontSize"
  1356. Value="13" />
  1357. <Setter Property="Padding"
  1358. Value="0" />
  1359. <Setter Property="HorizontalAlignment"
  1360. Value="Center" />
  1361. <Setter Property="VerticalAlignment"
  1362. Value="Center" />
  1363. <Setter Property="Margin"
  1364. Value="2" />
  1365. <Setter Property="materialDesign:ButtonAssist.CornerRadius"
  1366. Value="10" />
  1367. </Style>
  1368. </Grid.Resources>
  1369. <Button x:Name="btn_x"
  1370. Grid.Row="1"
  1371. Grid.Column="0"
  1372. Command="{Binding DataContext.JogCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1373. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=X-}">
  1374. <StackPanel Orientation="Vertical">
  1375. <materialDesign:PackIcon Kind="ArrowLeftBold"
  1376. Width="26"
  1377. Height="26" />
  1378. <TextBlock Text="-X"
  1379. HorizontalAlignment="Center" />
  1380. </StackPanel>
  1381. </Button>
  1382. <Button Grid.Row="1"
  1383. Grid.Column="2"
  1384. Command="{Binding DataContext.JogCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1385. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=X+}">
  1386. <StackPanel Orientation="Vertical">
  1387. <materialDesign:PackIcon Kind="ArrowRightBold"
  1388. Width="26"
  1389. Height="26" />
  1390. <TextBlock Text="+X"
  1391. HorizontalAlignment="Center" />
  1392. </StackPanel>
  1393. </Button>
  1394. <Button Grid.Row="0"
  1395. Grid.Column="1"
  1396. Command="{Binding DataContext.JogCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1397. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=Y+}">
  1398. <StackPanel Orientation="Vertical">
  1399. <materialDesign:PackIcon Kind="ArrowTopBold"
  1400. Width="26"
  1401. Height="26" />
  1402. <TextBlock Text="+Y"
  1403. HorizontalAlignment="Center" />
  1404. </StackPanel>
  1405. </Button>
  1406. <Button Grid.Row="2"
  1407. Grid.Column="1"
  1408. Command="{Binding DataContext.JogCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1409. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=Y-}">
  1410. <StackPanel Orientation="Vertical">
  1411. <materialDesign:PackIcon Kind="ArrowBottomBold"
  1412. Width="26"
  1413. Height="26" />
  1414. <TextBlock Text="-Y"
  1415. HorizontalAlignment="Center" />
  1416. </StackPanel>
  1417. </Button>
  1418. <Button Grid.Row="0"
  1419. Grid.Column="3"
  1420. Command="{Binding DataContext.JogCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1421. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=Z+}">
  1422. <StackPanel Orientation="Vertical">
  1423. <materialDesign:PackIcon Kind="ArrowTopBold"
  1424. Width="26"
  1425. Height="26" />
  1426. <TextBlock Text="+Z"
  1427. HorizontalAlignment="Center" />
  1428. </StackPanel>
  1429. </Button>
  1430. <Button Grid.Row="2"
  1431. Grid.Column="3"
  1432. Command="{Binding DataContext.JogCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1433. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=Z-}">
  1434. <StackPanel Orientation="Vertical">
  1435. <materialDesign:PackIcon Kind="ArrowBottomBold"
  1436. Width="26"
  1437. Height="26" />
  1438. <TextBlock Text="-Z"
  1439. HorizontalAlignment="Center" />
  1440. </StackPanel>
  1441. </Button>
  1442. <Button Grid.Row="3"
  1443. Grid.Column="0"
  1444. Command="{Binding DataContext.JogCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1445. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=U+}">
  1446. <StackPanel Orientation="Vertical">
  1447. <materialDesign:PackIcon Kind="AxisZRotateCounterclockwise"
  1448. Width="26"
  1449. Height="26" />
  1450. <TextBlock Text="+U"
  1451. HorizontalAlignment="Center" />
  1452. </StackPanel>
  1453. </Button>
  1454. <Button Grid.Row="4"
  1455. Grid.Column="0"
  1456. Command="{Binding DataContext.JogCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1457. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=U-}">
  1458. <StackPanel Orientation="Vertical">
  1459. <materialDesign:PackIcon Kind="AxisZRotateClockwise"
  1460. Width="26"
  1461. Height="26" />
  1462. <TextBlock Text="-U"
  1463. HorizontalAlignment="Center" />
  1464. </StackPanel>
  1465. </Button>
  1466. <Button Grid.Row="3"
  1467. Grid.Column="1"
  1468. Grid.ColumnSpan="2"
  1469. Command="{Binding DataContext.JogCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1470. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=R+}">
  1471. <StackPanel Orientation="Vertical">
  1472. <materialDesign:PackIcon Kind="AxisZRotateCounterclockwise"
  1473. Width="26"
  1474. Height="26" />
  1475. <TextBlock Text="+R"
  1476. HorizontalAlignment="Center" />
  1477. </StackPanel>
  1478. </Button>
  1479. <Button Grid.Row="4"
  1480. Grid.Column="1"
  1481. Grid.ColumnSpan="2"
  1482. Command="{Binding DataContext.JogCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1483. CommandParameter="{Binding ElementName=txtDistance,Path=Value,Converter={StaticResource JogConverter}, ConverterParameter=R-}">
  1484. <StackPanel Orientation="Vertical">
  1485. <materialDesign:PackIcon Kind="AxisZRotateClockwise"
  1486. Width="26"
  1487. Height="26" />
  1488. <TextBlock Text="-R"
  1489. HorizontalAlignment="Center" />
  1490. </StackPanel>
  1491. </Button>
  1492. <Grid Grid.Row="5"
  1493. Grid.ColumnSpan="7"
  1494. Margin="10">
  1495. <Grid.RowDefinitions>
  1496. <RowDefinition Height="auto" />
  1497. <RowDefinition Height="auto" />
  1498. <RowDefinition Height="auto" />
  1499. <RowDefinition Height="auto" />
  1500. </Grid.RowDefinitions>
  1501. <Grid.ColumnDefinitions>
  1502. <ColumnDefinition Width="auto" />
  1503. <ColumnDefinition Width="auto" />
  1504. <ColumnDefinition Width="auto" />
  1505. </Grid.ColumnDefinitions>
  1506. <TextBlock Grid.Row="0"
  1507. Grid.Column="0"
  1508. Text="{lex:Loc 步进距离,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
  1509. Margin="10"
  1510. VerticalAlignment="Center"
  1511. HorizontalAlignment="Right" />
  1512. <uControl:myNumericUpDowm x:Name="txtDistance"
  1513. Grid.Row="0"
  1514. Grid.Column="1"
  1515. MinWidth="100"
  1516. Value="{Binding DataContext.Distance,RelativeSource={RelativeSource AncestorType={x:Type UserControl}},Mode=TwoWay}"
  1517. Interval="0.1"
  1518. Minimum="0"
  1519. Maximum="100"
  1520. StringFormat="{}{0:N3} mm"
  1521. Margin="10"
  1522. materialDesign:HintAssist.Hint="{lex:Loc 步进距离}" />
  1523. <TextBlock Grid.Row="1"
  1524. Grid.Column="0"
  1525. Text="{lex:Loc 点编号,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
  1526. Margin="10"
  1527. VerticalAlignment="Center" />
  1528. <ComboBox x:Name="cmbSelectPoint"
  1529. Grid.Row="2"
  1530. Grid.Column="0"
  1531. MinWidth="80"
  1532. materialDesign:HintAssist.Hint="{lex:Loc 选择点}"
  1533. Margin="10,5"
  1534. ItemsSource="{Binding Points}"
  1535. SelectedItem="{Binding SelectedPointInComboBox,Mode=TwoWay}">
  1536. <ComboBox.ItemTemplate>
  1537. <DataTemplate>
  1538. <StackPanel HorizontalAlignment="Left"
  1539. Orientation="Horizontal">
  1540. <TextBlock Text="{Binding Number,StringFormat={}{0}:}" />
  1541. <TextBlock Text="{Binding Label}" />
  1542. </StackPanel>
  1543. </DataTemplate>
  1544. </ComboBox.ItemTemplate>
  1545. </ComboBox>
  1546. <TextBlock Grid.Row="1"
  1547. Grid.Column="1"
  1548. Text="{lex:Loc 动作指令,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
  1549. Margin="10"
  1550. VerticalAlignment="Center" />
  1551. <ComboBox x:Name="cmbSelectMotioncmd"
  1552. Grid.Row="2"
  1553. Grid.Column="1"
  1554. MinWidth="80"
  1555. Margin="10,5"
  1556. materialDesign:HintAssist.Hint="{lex:Loc 动作指令}"
  1557. ItemsSource="{ext:EnumBindingSource EnumType=enums:MotionCommand}"
  1558. SelectedItem="{Binding DataContext.SelectMotionCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
  1559. <Button Grid.Row="2"
  1560. Grid.Column="2"
  1561. Content="{lex:Loc 执行动作}"
  1562. Margin="2"
  1563. Command="{Binding DataContext.ExecuteMotion,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}">
  1564. <Button.CommandParameter>
  1565. <MultiBinding Converter="{StaticResource MultiParameterConverter}">
  1566. <Binding ElementName="cmbSelectPoint"
  1567. Path="SelectedItem" />
  1568. <Binding ElementName="cmbSelectMotioncmd"
  1569. Path="SelectedItem" />
  1570. </MultiBinding>
  1571. </Button.CommandParameter>
  1572. </Button>
  1573. <Button Grid.Row="3"
  1574. Grid.Column="0"
  1575. Content="{lex:Loc 示教}"
  1576. Margin="2"
  1577. HorizontalAlignment="Right"
  1578. Command="{Binding DataContext.TechPointCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
  1579. <!--<ToggleButton Grid.Row="3"
  1580. Grid.Column="2"
  1581. HorizontalAlignment="Right"
  1582. VerticalAlignment="Center"
  1583. Visibility="{Binding IsHaveRobot,Converter={StaticResource BooleanToVisibilityConverter}}"
  1584. materialDesign:ToggleButtonAssist.OnContent="{materialDesign:PackIcon Kind=ArrowRight}"
  1585. Content="{materialDesign:PackIcon Kind=ProgressWrench}"
  1586. Style="{StaticResource MaterialDesignActionToggleButton}"
  1587. ToolTip="{lex:Loc 手动验证流程}"
  1588. Margin="5,0"
  1589. IsChecked="{Binding IsRightDrawerOpen,ElementName=DrawerHost}" />-->
  1590. </Grid>
  1591. </Grid>
  1592. </Grid>
  1593. </Grid>
  1594. </Viewbox>
  1595. </Grid>
  1596. </Grid>
  1597. </materialDesign:DrawerHost>
  1598. <StackPanel Grid.Row="2"
  1599. Orientation="Horizontal"
  1600. HorizontalAlignment="Center"
  1601. VerticalAlignment="Center"
  1602. Margin="20">
  1603. <Button Content="{lex:Loc 下一步}"
  1604. IsEnabled="{Binding IsAllowEdit}"
  1605. MinWidth="100"
  1606. HorizontalAlignment="Center"
  1607. VerticalAlignment="Center"
  1608. materialDesign:ButtonAssist.CornerRadius="10"
  1609. Style="{StaticResource MaterialDesignRaisedButton}"
  1610. Command="{Binding NextCommand}" />
  1611. </StackPanel>
  1612. </Grid>
  1613. </UserControl>