PlcPointParams.xaml 197 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836
  1. <UserControl
  2. x:Class="TeamAAS_VP.Views.Product.PlcPointParams"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
  6. xmlns:convert="clr-namespace:TeamAAS_VP.ValueConverter"
  7. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  8. xmlns:enums="clr-namespace:TeamAAS_VP.Enums"
  9. xmlns:ext="clr-namespace:TeamAAS_VP.Extension"
  10. xmlns:lex="http://wpflocalizeextension.codeplex.com"
  11. xmlns:local="clr-namespace:TeamAAS_VP.Views.Product"
  12. xmlns:localRobot="clr-namespace:TeamAAS_VP.Models.Robot"
  13. xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
  14. xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
  15. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  16. xmlns:prism="http://prismlibrary.com/"
  17. xmlns:sys="clr-namespace:System;assembly=mscorlib"
  18. xmlns:uControl="clr-namespace:TeamAAS_VP.Controls"
  19. xmlns:vm="clr-namespace:TeamAAS_VP.ViewModels.Product"
  20. xmlns:vp="clr-namespace:Cognex.VisionPro;assembly=Cognex.VisionPro.Controls"
  21. xmlns:wf="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
  22. d:Background="White"
  23. d:DataContext="{d:DesignInstance Type=vm:PlcPointParamsViewModel}"
  24. d:Height="600"
  25. d:Width="1024"
  26. lex:LocalizeDictionary.DesignCulture="zh-CN"
  27. lex:ResxLocalizationProvider.DefaultAssembly="TeamAAS-VP"
  28. lex:ResxLocalizationProvider.DefaultDictionary="Lang"
  29. prism:ViewModelLocator.AutoWireViewModel="True"
  30. FontFamily="{DynamicResource DefaultFont}"
  31. mc:Ignorable="d">
  32. <b:Interaction.Triggers>
  33. <b:EventTrigger EventName="Loaded">
  34. <b:InvokeCommandAction Command="{Binding LoadedCommand}" />
  35. </b:EventTrigger>
  36. </b:Interaction.Triggers>
  37. <UserControl.Resources>
  38. <ObjectDataProvider
  39. x:Key="eRobotHand"
  40. MethodName="GetValues"
  41. ObjectType="{x:Type sys:Enum}">
  42. <ObjectDataProvider.MethodParameters>
  43. <x:Type TypeName="enums:RobotHand" />
  44. </ObjectDataProvider.MethodParameters>
  45. </ObjectDataProvider>
  46. <ObjectDataProvider
  47. x:Key="eMotionCommand"
  48. MethodName="GetValues"
  49. ObjectType="{x:Type sys:Enum}">
  50. <ObjectDataProvider.MethodParameters>
  51. <x:Type TypeName="enums:MotionCommand" />
  52. </ObjectDataProvider.MethodParameters>
  53. </ObjectDataProvider>
  54. <convert:JogConverter x:Key="JogConverter" />
  55. <convert:MultiParameterConverter x:Key="MultiParameterConverter" />
  56. <convert:RobotConverter x:Key="RobotConverter" />
  57. </UserControl.Resources>
  58. <Grid>
  59. <Grid.RowDefinitions>
  60. <RowDefinition Height="auto" />
  61. <RowDefinition Height="*" />
  62. <RowDefinition Height="auto" />
  63. </Grid.RowDefinitions>
  64. <Button
  65. Grid.Row="0"
  66. Width="50"
  67. HorizontalAlignment="Left"
  68. VerticalAlignment="Top"
  69. Command="{Binding BackCommand}"
  70. Content="{materialDesign:PackIcon Kind=ArrowLeftCircle}"
  71. Style="{StaticResource MaterialDesignIconButton}"
  72. ToolTip="{lex:Loc 返回}" />
  73. <StackPanel
  74. Grid.Row="0"
  75. Margin="50,0"
  76. VerticalAlignment="Center"
  77. Orientation="Horizontal">
  78. <materialDesign:PackIcon
  79. Width="30"
  80. Height="30"
  81. Kind="CubeOutline" />
  82. <TextBlock VerticalAlignment="Center" Text="{Binding SelectProduct.Name}" />
  83. <TextBlock VerticalAlignment="Center" Text="{lex:Loc 机器人点位, Converter={StaticResource StringFormatConverter}, ConverterParameter=' - {0}'}" />
  84. </StackPanel>
  85. <Button
  86. Grid.Row="0"
  87. MinWidth="100"
  88. Margin="5,3"
  89. HorizontalAlignment="Right"
  90. VerticalAlignment="Center"
  91. Command="{Binding DynamicTestAnalyzerCommand}"
  92. Content="动态精度分析" />
  93. <Border
  94. Height="1"
  95. VerticalAlignment="Bottom"
  96. BorderThickness="1,1,1,1">
  97. <Border.BorderBrush>
  98. <VisualBrush>
  99. <VisualBrush.Visual>
  100. <Rectangle
  101. Width="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualWidth}"
  102. Height="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualHeight}"
  103. Stroke="LightGray"
  104. StrokeDashArray="4 4"
  105. StrokeThickness="1" />
  106. </VisualBrush.Visual>
  107. </VisualBrush>
  108. </Border.BorderBrush>
  109. </Border>
  110. <materialDesign:DrawerHost
  111. x:Name="DrawerHost"
  112. Grid.Row="1"
  113. d:IsLeftDrawerOpen="true"
  114. IsEnabled="{Binding IsAllowEdit}"
  115. IsLeftDrawerOpen="{Binding IsLeftDrawerOpen, Mode=TwoWay}"
  116. OpenMode="Standard">
  117. <materialDesign:DrawerHost.LeftDrawerContent>
  118. <Grid Width="600">
  119. <Grid.RowDefinitions>
  120. <RowDefinition Height="*" />
  121. <RowDefinition Height=" auto" />
  122. </Grid.RowDefinitions>
  123. <wf:WindowsFormsHost Grid.Row="0" Margin="0,40">
  124. <vp:CogRecordDisplay x:Name="display" />
  125. </wf:WindowsFormsHost>
  126. <StackPanel
  127. Grid.Row="1"
  128. HorizontalAlignment="Left"
  129. VerticalAlignment="Bottom"
  130. Orientation="Horizontal">
  131. <TextBlock
  132. VerticalAlignment="Center"
  133. FontWeight="Bold"
  134. Text="{lex:Loc 相机,
  135. Converter={StaticResource StringFormatConverter},
  136. ConverterParameter='{}{0}: '}" />
  137. <ComboBox
  138. Margin="5,0,10,0"
  139. materialDesign:HintAssist.Hint="{lex:Loc 选择相机}"
  140. IsEnabled="{Binding IsGrap, Converter={StaticResource InvertBooleanConverter}}"
  141. ItemsSource="{Binding CameraList}"
  142. SelectedItem="{Binding SelectedCamera}">
  143. <ComboBox.ItemTemplate>
  144. <DataTemplate>
  145. <StackPanel Orientation="Horizontal">
  146. <materialDesign:PackIcon Kind="Camera" />
  147. <TextBlock Margin="6,0" Text="{Binding CameraName}" />
  148. </StackPanel>
  149. </DataTemplate>
  150. </ComboBox.ItemTemplate>
  151. </ComboBox>
  152. <Button
  153. Grid.Column="0"
  154. MinWidth="100"
  155. materialDesign:ButtonAssist.CornerRadius="10"
  156. Command="{Binding StartGrabbingCommand}"
  157. Content="{lex:Loc 开始采集}"
  158. Style="{StaticResource MaterialDesignRaisedButton}" />
  159. <Button
  160. Grid.Column="0"
  161. MinWidth="100"
  162. Margin="10,0"
  163. materialDesign:ButtonAssist.CornerRadius="10"
  164. Command="{Binding StopGrabbingCommand}"
  165. Content="{lex:Loc 停止采集}"
  166. IsEnabled="{Binding IsAllowEdit}"
  167. Style="{StaticResource MaterialDesignRaisedButton}" />
  168. <TextBlock
  169. VerticalAlignment="Center"
  170. Foreground="Gray"
  171. Text="{Binding Message}" />
  172. </StackPanel>
  173. </Grid>
  174. </materialDesign:DrawerHost.LeftDrawerContent>
  175. <Grid>
  176. <Grid.ColumnDefinitions>
  177. <ColumnDefinition Width="auto" />
  178. <ColumnDefinition Width="*" />
  179. </Grid.ColumnDefinitions>
  180. <Expander
  181. Grid.Column="0"
  182. Background="Transparent"
  183. ExpandDirection="Right">
  184. <Expander.Header>
  185. <TextBlock RenderTransformOrigin=".5,.5" Text="Navigation Description">
  186. <TextBlock.LayoutTransform>
  187. <RotateTransform Angle="90" />
  188. </TextBlock.LayoutTransform>
  189. </TextBlock>
  190. </Expander.Header>
  191. <ScrollViewer>
  192. <StackPanel Margin="8,24,16,24" Orientation="Vertical">
  193. <Image
  194. Width="350"
  195. HorizontalAlignment="Center"
  196. VerticalAlignment="Top"
  197. Source="pack://application:,,,/TeamAAS-VP;component/Resources/Images/9机器人点位.png"
  198. Stretch="Uniform" />
  199. <TextBlock Text="{lex:Loc 机器人点位示教}" />
  200. <TextBlock
  201. Foreground="Gray"
  202. Text="{lex:Loc 机器人点位示教描述}"
  203. TextWrapping="Wrap" />
  204. </StackPanel>
  205. </ScrollViewer>
  206. </Expander>
  207. <Grid Grid.Column="1">
  208. <Grid.ColumnDefinitions>
  209. <ColumnDefinition Width="*" />
  210. <ColumnDefinition Width="auto" />
  211. </Grid.ColumnDefinitions>
  212. <DockPanel Grid.Column="0">
  213. <!-- 选项列表 -->
  214. <ListBox
  215. Height="80"
  216. DockPanel.Dock="Top"
  217. SelectedIndex="{Binding SelectedIndex}"
  218. Style="{StaticResource MaterialDesign3.NavigationBarPrimaryListBox}">
  219. <b:Interaction.Triggers>
  220. <b:EventTrigger EventName="SelectionChanged">
  221. <b:InvokeCommandAction Command="{Binding SelectionChangedCommand}" />
  222. </b:EventTrigger>
  223. </b:Interaction.Triggers>
  224. <ListBoxItem Visibility="Collapsed">
  225. <ListBoxItem.Style>
  226. <Style BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}" TargetType="ListBoxItem">
  227. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon" Value="Circle" />
  228. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon" Value="CircleOutline" />
  229. </Style>
  230. </ListBoxItem.Style>
  231. <TextBlock Text="取料拍照点位" />
  232. </ListBoxItem>
  233. <ListBoxItem Visibility="Collapsed">
  234. <ListBoxItem.Style>
  235. <Style BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}" TargetType="ListBoxItem">
  236. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon" Value="Circle" />
  237. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon" Value="CircleOutline" />
  238. </Style>
  239. </ListBoxItem.Style>
  240. <TextBlock Text="取料点位" />
  241. </ListBoxItem>
  242. <ListBoxItem Visibility="Collapsed">
  243. <ListBoxItem.Style>
  244. <Style BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}" TargetType="ListBoxItem">
  245. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon" Value="Circle" />
  246. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon" Value="CircleOutline" />
  247. </Style>
  248. </ListBoxItem.Style>
  249. <TextBlock Text="下相机二次定位点位" />
  250. </ListBoxItem>
  251. <ListBoxItem Visibility="Collapsed">
  252. <ListBoxItem.Style>
  253. <Style BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}" TargetType="ListBoxItem">
  254. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon" Value="Circle" />
  255. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon" Value="CircleOutline" />
  256. </Style>
  257. </ListBoxItem.Style>
  258. <TextBlock Text="锁附拍照点位" />
  259. </ListBoxItem>
  260. <ListBoxItem Visibility="Collapsed">
  261. <ListBoxItem.Style>
  262. <Style BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}" TargetType="ListBoxItem">
  263. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon" Value="Circle" />
  264. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon" Value="CircleOutline" />
  265. </Style>
  266. </ListBoxItem.Style>
  267. <TextBlock Text="锁附点位" />
  268. </ListBoxItem>
  269. <ListBoxItem Visibility="Collapsed">
  270. <ListBoxItem.Style>
  271. <Style BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}" TargetType="ListBoxItem">
  272. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon" Value="Circle" />
  273. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon" Value="CircleOutline" />
  274. </Style>
  275. </ListBoxItem.Style>
  276. <TextBlock Text="复检点位" />
  277. </ListBoxItem>
  278. <ListBoxItem>
  279. <ListBoxItem.Style>
  280. <Style BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}" TargetType="ListBoxItem">
  281. <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon" Value="Circle" />
  282. <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon" Value="CircleOutline" />
  283. </Style>
  284. </ListBoxItem.Style>
  285. <TextBlock Text="AOI点位" />
  286. </ListBoxItem>
  287. </ListBox>
  288. <!-- 点位列表操作按钮面板 -->
  289. <StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal">
  290. <Button
  291. MinWidth="80"
  292. Margin="5,2"
  293. materialDesign:ButtonAssist.CornerRadius="5"
  294. Command="{Binding AddPointCommand}"
  295. Content="添加点" />
  296. <Button
  297. MinWidth="80"
  298. Margin="5,2"
  299. materialDesign:ButtonAssist.CornerRadius="5"
  300. Command="{Binding DeletePointCommand}"
  301. Content="删除点" />
  302. <Button
  303. MinWidth="80"
  304. Margin="5,2"
  305. materialDesign:ButtonAssist.CornerRadius="5"
  306. Command="{Binding MovePointUpCommand}"
  307. Content="上移" />
  308. <Button
  309. MinWidth="80"
  310. Margin="5,2"
  311. materialDesign:ButtonAssist.CornerRadius="5"
  312. Command="{Binding MovePointDownCommand}"
  313. Content="下移" />
  314. <Button
  315. MinWidth="80"
  316. Margin="5,2"
  317. d:Visibility="Visible"
  318. materialDesign:ButtonAssist.CornerRadius="5"
  319. Command="{Binding ImportCadPointCommand}"
  320. Content="CAD导入点位">
  321. <Button.Style>
  322. <Style BasedOn="{StaticResource MaterialDesignRaisedDarkButton}" TargetType="Button">
  323. <Setter Property="Visibility" Value="Collapsed" />
  324. <Style.Triggers>
  325. <!-- 当 SelectedIndex == 0 时显示此面板 -->
  326. <DataTrigger Binding="{Binding SelectedIndex}" Value="4">
  327. <Setter Property="Visibility" Value="Visible" />
  328. </DataTrigger>
  329. </Style.Triggers>
  330. </Style>
  331. </Button.Style>
  332. </Button>
  333. </StackPanel>
  334. <Border
  335. Height="1"
  336. BorderBrush="LightGray"
  337. BorderThickness="1"
  338. DockPanel.Dock="Bottom" />
  339. <DockPanel>
  340. <!-- 不同点位类型的操作面板 -->
  341. <StackPanel DockPanel.Dock="Bottom" Orientation="Vertical">
  342. <!-- 取料拍照点位面板 -->
  343. <StackPanel
  344. x:Name="AutoCorrectPickPointPanel"
  345. d:Visibility="Visible"
  346. Orientation="Vertical">
  347. <StackPanel.Style>
  348. <Style TargetType="StackPanel">
  349. <Setter Property="Visibility" Value="Collapsed" />
  350. <Style.Triggers>
  351. <!-- 当 SelectedIndex == 0 时显示此面板 -->
  352. <DataTrigger Binding="{Binding SelectedIndex}" Value="0">
  353. <Setter Property="Visibility" Value="Visible" />
  354. </DataTrigger>
  355. </Style.Triggers>
  356. </Style>
  357. </StackPanel.Style>
  358. <StackPanel Orientation="Horizontal">
  359. <ToggleButton
  360. x:Name="btn_AutoCorrectPickPoint"
  361. d:IsChecked="True"
  362. Style="{StaticResource MaterialDesignSwitchToggleButton}">
  363. <materialDesign:PackIcon Kind="Pin" RenderTransformOrigin=".5,.5">
  364. <materialDesign:PackIcon.RenderTransform>
  365. <RotateTransform Angle="45" />
  366. </materialDesign:PackIcon.RenderTransform>
  367. </materialDesign:PackIcon>
  368. <materialDesign:ToggleButtonAssist.OnContent>
  369. <materialDesign:PackIcon Kind="Pin" />
  370. </materialDesign:ToggleButtonAssist.OnContent>
  371. </ToggleButton>
  372. <TextBlock
  373. Margin="0,10,0,5"
  374. FontWeight="Bold"
  375. Text="通过相机自动矫正取料点位" />
  376. </StackPanel>
  377. <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
  378. <StackPanel
  379. HorizontalAlignment="Left"
  380. Orientation="Horizontal"
  381. Visibility="{Binding ElementName=btn_AutoCorrectPickPoint, Path=IsChecked, Converter={StaticResource BooleanToVisibilityConverter}}">
  382. <TextBlock VerticalAlignment="Center" Text="选择拍照点:" />
  383. <ComboBox
  384. MinWidth="50"
  385. Margin="5,0,0,0"
  386. ItemsSource="{Binding Points}"
  387. SelectedItem="{Binding SelectedCameraForPickPoint}">
  388. <ComboBox.ItemTemplate>
  389. <DataTemplate>
  390. <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
  391. <TextBlock Text="{Binding Number, StringFormat={}{0}:}" />
  392. <TextBlock Text="{Binding Label}" />
  393. </StackPanel>
  394. </DataTemplate>
  395. </ComboBox.ItemTemplate>
  396. </ComboBox>
  397. <TextBlock
  398. Margin="5,0,0,0"
  399. VerticalAlignment="Center"
  400. Text="选择移动视觉流程:" />
  401. <ComboBox
  402. MinWidth="50"
  403. Margin="5,0,0,0"
  404. ItemsSource="{Binding ProcedureModels}"
  405. SelectedItem="{Binding SelectProcedure}">
  406. <ComboBox.ItemTemplate>
  407. <DataTemplate>
  408. <StackPanel Orientation="Horizontal">
  409. <materialDesign:PackIcon Kind="VideoOutline" />
  410. <TextBlock Margin="6,0" Text="{Binding CameraName}" />
  411. <materialDesign:PackIcon Kind="ProgressWrench" />
  412. <TextBlock Margin="6,0" Text="{Binding Name}" />
  413. </StackPanel>
  414. </DataTemplate>
  415. </ComboBox.ItemTemplate>
  416. </ComboBox>
  417. <TextBlock
  418. Margin="5,0,0,0"
  419. VerticalAlignment="Center"
  420. Text="选择要校准的取料位:" />
  421. <ComboBox
  422. MinWidth="50"
  423. Margin="5,0,0,0"
  424. ItemsSource="{Binding PickPoints}"
  425. SelectedItem="{Binding SelectedPickPoint}">
  426. <ComboBox.ItemTemplate>
  427. <DataTemplate>
  428. <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
  429. <TextBlock Text="{Binding Number, StringFormat={}{0}:}" />
  430. <TextBlock Text="{Binding Label}" />
  431. </StackPanel>
  432. </DataTemplate>
  433. </ComboBox.ItemTemplate>
  434. </ComboBox>
  435. <Button
  436. Margin="10,0,0,0"
  437. materialDesign:ButtonAssist.CornerRadius="5"
  438. Command="{Binding AutoCorrectPickPointCommand}"
  439. Content="执行校准" />
  440. </StackPanel>
  441. </ScrollViewer>
  442. </StackPanel>
  443. <!-- 锁付拍照面板 -->
  444. <StackPanel
  445. x:Name="LockCameraPanel"
  446. d:Visibility="Visible"
  447. Orientation="Vertical">
  448. <StackPanel.Style>
  449. <Style TargetType="StackPanel">
  450. <Setter Property="Visibility" Value="Collapsed" />
  451. <Style.Triggers>
  452. <!-- 当 SelectedIndex == 4 时显示此面板 -->
  453. <DataTrigger Binding="{Binding SelectedIndex}" Value="3">
  454. <Setter Property="Visibility" Value="Visible" />
  455. </DataTrigger>
  456. </Style.Triggers>
  457. </Style>
  458. </StackPanel.Style>
  459. <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
  460. <StackPanel Orientation="Vertical">
  461. <TextBlock Text="拍1锁多时,相机拍照位置对应的产品坐标系中位置" />
  462. <Grid HorizontalAlignment="Left">
  463. <Grid.ColumnDefinitions>
  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. <ColumnDefinition Width="Auto" />
  471. <ColumnDefinition Width="Auto" />
  472. <ColumnDefinition Width="Auto" />
  473. </Grid.ColumnDefinitions>
  474. <Grid.RowDefinitions>
  475. <RowDefinition Height="Auto" />
  476. <RowDefinition Height="Auto" />
  477. </Grid.RowDefinitions>
  478. <!-- 拍照1 -->
  479. <TextBlock
  480. Grid.Row="0"
  481. Grid.Column="0"
  482. VerticalAlignment="Center"
  483. Text="拍照1:" />
  484. <TextBlock
  485. Grid.Row="0"
  486. Grid.Column="1"
  487. Margin="5,0,0,0"
  488. VerticalAlignment="Center"
  489. Text="X:" />
  490. <mah:NumericUpDown
  491. Grid.Row="0"
  492. Grid.Column="2"
  493. MinWidth="60"
  494. Margin="0"
  495. Padding="2"
  496. HorizontalAlignment="Stretch"
  497. VerticalAlignment="Center"
  498. Interval="0.1"
  499. Maximum="9999.000"
  500. Minimum="-9999.000"
  501. StringFormat="F3"
  502. Value="{Binding SelectProduct.ScrewCameraLocalPos1.X_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  503. <TextBlock
  504. Grid.Row="0"
  505. Grid.Column="3"
  506. Margin="5,0,0,0"
  507. VerticalAlignment="Center"
  508. Text="Y:" />
  509. <mah:NumericUpDown
  510. Grid.Row="0"
  511. Grid.Column="4"
  512. MinWidth="60"
  513. Margin="0"
  514. Padding="2"
  515. HorizontalAlignment="Stretch"
  516. VerticalAlignment="Center"
  517. Interval="0.1"
  518. Maximum="9999.000"
  519. Minimum="-9999.000"
  520. StringFormat="F3"
  521. Value="{Binding SelectProduct.ScrewCameraLocalPos1.Y_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  522. <TextBlock
  523. Grid.Row="0"
  524. Grid.Column="5"
  525. Margin="5,0,0,0"
  526. VerticalAlignment="Center"
  527. Text="Z:" />
  528. <mah:NumericUpDown
  529. Grid.Row="0"
  530. Grid.Column="6"
  531. MinWidth="60"
  532. Margin="0"
  533. Padding="2"
  534. HorizontalAlignment="Stretch"
  535. VerticalAlignment="Center"
  536. Interval="0.1"
  537. Maximum="9999.000"
  538. Minimum="-9999.000"
  539. StringFormat="F3"
  540. Value="{Binding SelectProduct.ScrewCameraLocalPos1.Z_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  541. <!-- 拍照2 -->
  542. <TextBlock
  543. Grid.Row="1"
  544. Grid.Column="0"
  545. VerticalAlignment="Center"
  546. Text="拍照2:" />
  547. <TextBlock
  548. Grid.Row="1"
  549. Grid.Column="1"
  550. Margin="5,0,0,0"
  551. VerticalAlignment="Center"
  552. Text="X:" />
  553. <mah:NumericUpDown
  554. Grid.Row="1"
  555. Grid.Column="2"
  556. MinWidth="60"
  557. Margin="0"
  558. Padding="2"
  559. HorizontalAlignment="Stretch"
  560. VerticalAlignment="Center"
  561. Interval="0.1"
  562. Maximum="9999.000"
  563. Minimum="-9999.000"
  564. StringFormat="F3"
  565. Value="{Binding SelectProduct.ScrewCameraLocalPos2.X_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  566. <TextBlock
  567. Grid.Row="1"
  568. Grid.Column="3"
  569. Margin="5,0,0,0"
  570. VerticalAlignment="Center"
  571. Text="Y:" />
  572. <mah:NumericUpDown
  573. Grid.Row="1"
  574. Grid.Column="4"
  575. MinWidth="60"
  576. Margin="0"
  577. Padding="2"
  578. HorizontalAlignment="Stretch"
  579. VerticalAlignment="Center"
  580. Interval="0.1"
  581. Maximum="9999.000"
  582. Minimum="-9999.000"
  583. StringFormat="F3"
  584. Value="{Binding SelectProduct.ScrewCameraLocalPos2.Y_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  585. <TextBlock
  586. Grid.Row="1"
  587. Grid.Column="5"
  588. Margin="5,0,0,0"
  589. VerticalAlignment="Center"
  590. Text="Z:" />
  591. <mah:NumericUpDown
  592. Grid.Row="1"
  593. Grid.Column="6"
  594. MinWidth="60"
  595. Margin="0"
  596. Padding="2"
  597. HorizontalAlignment="Stretch"
  598. VerticalAlignment="Center"
  599. Interval="0.1"
  600. Maximum="9999.000"
  601. Minimum="-9999.000"
  602. StringFormat="F3"
  603. Value="{Binding SelectProduct.ScrewCameraLocalPos2.Z_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  604. <!-- 通过CAD导入点位按钮 -->
  605. <Button
  606. Grid.Row="0"
  607. Grid.RowSpan="2"
  608. Grid.Column="7"
  609. MinWidth="100"
  610. Margin="10,0"
  611. HorizontalAlignment="Left"
  612. materialDesign:ButtonAssist.CornerRadius="5"
  613. Command="{Binding ImportCadLockCameraPointCommand}"
  614. Content="通过CAD导入点位" />
  615. <!-- 通过相机自动矫正锁附点位 -->
  616. <Button
  617. Grid.Row="0"
  618. Grid.RowSpan="2"
  619. Grid.Column="8"
  620. MinWidth="150"
  621. Margin="10,0"
  622. HorizontalAlignment="Left"
  623. materialDesign:ButtonAssist.CornerRadius="5"
  624. Command="{Binding AutoCorrectLockPointCommand}"
  625. Content="通过相机自动矫正锁附点位" />
  626. </Grid>
  627. </StackPanel>
  628. </ScrollViewer>
  629. </StackPanel>
  630. <!-- 锁付点位面板 -->
  631. <StackPanel
  632. x:Name="LockPointPanel"
  633. d:Visibility="Visible"
  634. Orientation="Vertical">
  635. <StackPanel.Style>
  636. <Style TargetType="StackPanel">
  637. <Setter Property="Visibility" Value="Collapsed" />
  638. <Style.Triggers>
  639. <!-- 当 SelectedIndex == 4 时显示此面板 -->
  640. <DataTrigger Binding="{Binding SelectedIndex}" Value="6">
  641. <Setter Property="Visibility" Value="Visible" />
  642. </DataTrigger>
  643. </Style.Triggers>
  644. </Style>
  645. </StackPanel.Style>
  646. <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
  647. <StackPanel Orientation="Vertical">
  648. <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
  649. <TextBlock VerticalAlignment="Center" Text="批量设置所有AOI点的起始Z轴高度:" />
  650. <TextBlock
  651. Margin="5,0,0,0"
  652. VerticalAlignment="Center"
  653. Text="起始Z轴高度:" />
  654. <mah:NumericUpDown
  655. MinWidth="60"
  656. Margin="0"
  657. Padding="2"
  658. HorizontalAlignment="Stretch"
  659. VerticalAlignment="Center"
  660. Interval="0.1"
  661. Maximum="9999.000"
  662. Minimum="-9999.000"
  663. StringFormat="F3"
  664. Value="{Binding LockPointStartZ, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  665. <TextBlock
  666. Margin="0"
  667. VerticalAlignment="Center"
  668. Text="mm" />
  669. <!-- 应用按钮 -->
  670. <Button
  671. MinWidth="60"
  672. Margin="10,0,0,0"
  673. HorizontalAlignment="Left"
  674. materialDesign:ButtonAssist.CornerRadius="5"
  675. Command="{Binding ApplyLockPointStartZCommand}"
  676. Content="应用" />
  677. </StackPanel>
  678. <!--<StackPanel Orientation="Horizontal"
  679. HorizontalAlignment="Left">
  680. <TextBlock Text="批量设置所有锁付点的锁付深度:"
  681. VerticalAlignment="Center" />
  682. <TextBlock Text="锁付深度:"
  683. Margin="5,0,0,0"
  684. VerticalAlignment="Center" />
  685. <mah:NumericUpDown Value="{Binding LockZDepth, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  686. Minimum="-9999.000"
  687. Maximum="9999.000"
  688. Interval="0.1"
  689. StringFormat="F3"
  690. MinWidth="60"
  691. HorizontalAlignment="Stretch"
  692. VerticalAlignment="Center"
  693. Margin="0"
  694. Padding="2" />
  695. <TextBlock Margin="0"
  696. VerticalAlignment="Center"
  697. Text="mm" />
  698. -->
  699. <!-- 应用按钮 -->
  700. <!--
  701. <Button Content="应用"
  702. Margin="10,0,0,0"
  703. MinWidth="60"
  704. HorizontalAlignment="Left"
  705. materialDesign:ButtonAssist.CornerRadius="5"
  706. Command="{Binding ApplyLockPointDepthCommand}" />
  707. </StackPanel>-->
  708. <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
  709. <TextBlock VerticalAlignment="Center" Text="批量设置AOI的X Y Z U的各轴速度:" />
  710. <TextBlock
  711. Margin="5,0,0,0"
  712. VerticalAlignment="Center"
  713. Text="X轴速度:" />
  714. <mah:NumericUpDown
  715. MinWidth="60"
  716. Margin="0"
  717. Padding="2"
  718. HorizontalAlignment="Stretch"
  719. VerticalAlignment="Center"
  720. Interval="1"
  721. Maximum="20000"
  722. Minimum="0"
  723. StringFormat="F1"
  724. Value="{Binding LockXSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  725. <TextBlock
  726. Margin="0"
  727. VerticalAlignment="Center"
  728. Text="mm/s" />
  729. <TextBlock
  730. Margin="5,0,0,0"
  731. VerticalAlignment="Center"
  732. Text="Y轴速度:" />
  733. <mah:NumericUpDown
  734. MinWidth="60"
  735. Margin="0"
  736. Padding="2"
  737. HorizontalAlignment="Stretch"
  738. VerticalAlignment="Center"
  739. Interval="1"
  740. Maximum="20000"
  741. Minimum="0"
  742. StringFormat="F1"
  743. Value="{Binding LockYSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  744. <TextBlock
  745. Margin="0"
  746. VerticalAlignment="Center"
  747. Text="mm/s" />
  748. <TextBlock
  749. Margin="5,0,0,0"
  750. VerticalAlignment="Center"
  751. Text="Z轴速度:" />
  752. <mah:NumericUpDown
  753. MinWidth="60"
  754. Margin="0"
  755. Padding="2"
  756. HorizontalAlignment="Stretch"
  757. VerticalAlignment="Center"
  758. Interval="1"
  759. Maximum="20000"
  760. Minimum="0"
  761. StringFormat="F1"
  762. Value="{Binding LockZSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  763. <TextBlock
  764. Margin="0"
  765. VerticalAlignment="Center"
  766. Text="mm/s" />
  767. <TextBlock
  768. Margin="5,0,0,0"
  769. VerticalAlignment="Center"
  770. Text="U轴速度:" />
  771. <mah:NumericUpDown
  772. MinWidth="60"
  773. Margin="0"
  774. Padding="2"
  775. HorizontalAlignment="Stretch"
  776. VerticalAlignment="Center"
  777. Interval="1"
  778. Maximum="20000"
  779. Minimum="0"
  780. StringFormat="F1"
  781. Value="{Binding LockUSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  782. <TextBlock
  783. Margin="0"
  784. VerticalAlignment="Center"
  785. Text="mm/s" />
  786. <!-- 应用按钮 -->
  787. <!--<Button Content="应用"
  788. Margin="10,0,0,0"
  789. MinWidth="60"
  790. HorizontalAlignment="Left"
  791. materialDesign:ButtonAssist.CornerRadius="5"
  792. Command="{Binding ApplyLockPointSpeedCommand}" />-->
  793. </StackPanel>
  794. <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
  795. <TextBlock VerticalAlignment="Center" Text="批量设置AOI的V W的各轴速度:" />
  796. <TextBlock
  797. Margin="5,0,0,0"
  798. VerticalAlignment="Center"
  799. Text="V轴速度:" />
  800. <mah:NumericUpDown
  801. MinWidth="60"
  802. Margin="0"
  803. Padding="2"
  804. HorizontalAlignment="Stretch"
  805. VerticalAlignment="Center"
  806. Interval="1"
  807. Maximum="20000"
  808. Minimum="0"
  809. StringFormat="F1"
  810. Value="{Binding LockVSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  811. <TextBlock
  812. Margin="0"
  813. VerticalAlignment="Center"
  814. Text="mm/s" />
  815. <TextBlock
  816. Margin="5,0,0,0"
  817. VerticalAlignment="Center"
  818. Text="W轴速度:" />
  819. <mah:NumericUpDown
  820. MinWidth="60"
  821. Margin="0"
  822. Padding="2"
  823. HorizontalAlignment="Stretch"
  824. VerticalAlignment="Center"
  825. Interval="1"
  826. Maximum="20000"
  827. Minimum="0"
  828. StringFormat="F1"
  829. Value="{Binding LockWSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  830. <TextBlock
  831. Margin="0"
  832. VerticalAlignment="Center"
  833. Text="mm/s" />
  834. <!-- 应用按钮 -->
  835. <Button
  836. MinWidth="60"
  837. Margin="10,0,0,0"
  838. HorizontalAlignment="Left"
  839. materialDesign:ButtonAssist.CornerRadius="5"
  840. Command="{Binding ApplyLockPointSpeedCommand}"
  841. Content="应用" />
  842. </StackPanel>
  843. <!-- 批量设置所有锁付点的供料器编号和电批程序编号 -->
  844. <!--
  845. <StackPanel Orientation="Horizontal"
  846. HorizontalAlignment="Left">
  847. <TextBlock Text="批量设置所有锁付点的供料器编号和电批程序编号:"
  848. VerticalAlignment="Center" />
  849. <TextBlock Text="供料器编号:"
  850. Margin="5,0,0,0"
  851. VerticalAlignment="Center" />
  852. <mah:NumericUpDown Value="{Binding LockFeederNumber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  853. Minimum="0"
  854. Maximum="9999"
  855. Interval="1"
  856. StringFormat="F0"
  857. MinWidth="60"
  858. HorizontalAlignment="Stretch"
  859. VerticalAlignment="Center"
  860. Margin="0"
  861. Padding="2" />
  862. <TextBlock Text="电批程序编号:"
  863. Margin="5,0,0,0"
  864. VerticalAlignment="Center" />
  865. <mah:NumericUpDown Value="{Binding LockScrewProgramNumber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  866. Minimum="0"
  867. Maximum="100"
  868. Interval="1"
  869. StringFormat="F0"
  870. MinWidth="60"
  871. HorizontalAlignment="Stretch"
  872. VerticalAlignment="Center"
  873. Margin="0"
  874. Padding="2" />
  875. -->
  876. <!-- 应用按钮 -->
  877. <!--
  878. <Button Content="应用"
  879. Margin="10,0,0,0"
  880. MinWidth="60"
  881. HorizontalAlignment="Left"
  882. materialDesign:ButtonAssist.CornerRadius="5"
  883. Command="{Binding ApplyLockPointFeederAndScrewProgramCommand}" />
  884. </StackPanel>-->
  885. </StackPanel>
  886. </ScrollViewer>
  887. </StackPanel>
  888. </StackPanel>
  889. <!-- 点位表 -->
  890. <DataGrid
  891. x:Name="dgPoints"
  892. AutoGenerateColumns="False"
  893. CanUserAddRows="False"
  894. CanUserDeleteRows="False"
  895. ColumnWidth="*"
  896. GridLinesVisibility="All"
  897. HeadersVisibility="Column"
  898. HorizontalScrollBarVisibility="Auto"
  899. ItemsSource="{Binding Points}"
  900. ScrollViewer.CanContentScroll="True"
  901. ScrollViewer.HorizontalScrollBarVisibility="Auto"
  902. SelectedItem="{Binding SelectedPointInDataGrid, Mode=TwoWay}"
  903. SelectionMode="Single"
  904. SelectionUnit="FullRow"
  905. VerticalGridLinesBrush="#D0D0D0">
  906. <DataGrid.Resources>
  907. <Style TargetType="DataGridCell">
  908. <Style.Resources>
  909. <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="#0078D7" />
  910. </Style.Resources>
  911. <Setter Property="MinHeight" Value="25" />
  912. <Setter Property="VerticalContentAlignment" Value="Center" />
  913. <Setter Property="HorizontalContentAlignment" Value="Center" />
  914. <Setter Property="VerticalAlignment" Value="Center" />
  915. <Setter Property="TextBlock.TextAlignment" Value="Center" />
  916. <Setter Property="Padding" Value="0" />
  917. <Style.Triggers>
  918. <Trigger Property="IsSelected" Value="True">
  919. <Setter Property="Foreground" Value="White" />
  920. </Trigger>
  921. </Style.Triggers>
  922. </Style>
  923. <!-- 为 TextBlock 添加默认居中样式 -->
  924. <Style TargetType="TextBlock">
  925. <Setter Property="TextAlignment" Value="Center" />
  926. <Setter Property="HorizontalAlignment" Value="Center" />
  927. <Setter Property="VerticalAlignment" Value="Center" />
  928. </Style>
  929. </DataGrid.Resources>
  930. <DataGrid.Columns>
  931. <DataGridTextColumn
  932. Width="Auto"
  933. MinWidth="60"
  934. Binding="{Binding Number, Mode=TwoWay, StringFormat={}{0:F0}}"
  935. Header="{lex:Loc 编号}"
  936. IsReadOnly="True" />
  937. <DataGridTextColumn
  938. Width="Auto"
  939. MinWidth="100"
  940. Binding="{Binding Label, Mode=TwoWay}"
  941. Header="{lex:Loc 标签}" />
  942. <!-- X 起点坐标 -->
  943. <DataGridTemplateColumn
  944. Width="Auto"
  945. MinWidth="60"
  946. Header="X起点位置">
  947. <DataGridTemplateColumn.CellTemplate>
  948. <DataTemplate>
  949. <TextBlock
  950. HorizontalAlignment="Center"
  951. VerticalAlignment="Center"
  952. Text="{Binding X_Position_Start, StringFormat={}{0:F3}}" />
  953. </DataTemplate>
  954. </DataGridTemplateColumn.CellTemplate>
  955. <DataGridTemplateColumn.CellEditingTemplate>
  956. <DataTemplate>
  957. <mah:NumericUpDown
  958. Margin="0"
  959. Padding="2"
  960. HorizontalAlignment="Stretch"
  961. VerticalAlignment="Center"
  962. Interval="0.1"
  963. Maximum="9999.000"
  964. Minimum="-9999.000"
  965. StringFormat="F3"
  966. Value="{Binding X_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  967. </DataTemplate>
  968. </DataGridTemplateColumn.CellEditingTemplate>
  969. </DataGridTemplateColumn>
  970. <!-- X 起点速度 -->
  971. <DataGridTemplateColumn
  972. Width="Auto"
  973. MinWidth="60"
  974. Header="X起点速度">
  975. <DataGridTemplateColumn.CellTemplate>
  976. <DataTemplate>
  977. <TextBlock
  978. HorizontalAlignment="Center"
  979. VerticalAlignment="Center"
  980. Text="{Binding X_Velocity_Start, StringFormat={}{0:F0}}" />
  981. </DataTemplate>
  982. </DataGridTemplateColumn.CellTemplate>
  983. <DataGridTemplateColumn.CellEditingTemplate>
  984. <DataTemplate>
  985. <mah:NumericUpDown
  986. Margin="0"
  987. Padding="2"
  988. HorizontalAlignment="Stretch"
  989. VerticalAlignment="Center"
  990. Interval="1"
  991. Maximum="9999.000"
  992. Minimum="0"
  993. StringFormat="F3"
  994. Value="{Binding X_Velocity_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  995. </DataTemplate>
  996. </DataGridTemplateColumn.CellEditingTemplate>
  997. </DataGridTemplateColumn>
  998. <!-- X 终点坐标 -->
  999. <DataGridTemplateColumn
  1000. Width="Auto"
  1001. MinWidth="60"
  1002. Header="X终点位置">
  1003. <DataGridTemplateColumn.CellTemplate>
  1004. <DataTemplate>
  1005. <TextBlock
  1006. HorizontalAlignment="Center"
  1007. VerticalAlignment="Center"
  1008. Text="{Binding X_Position_Stop, StringFormat={}{0:F3}}" />
  1009. </DataTemplate>
  1010. </DataGridTemplateColumn.CellTemplate>
  1011. <DataGridTemplateColumn.CellEditingTemplate>
  1012. <DataTemplate>
  1013. <mah:NumericUpDown
  1014. Margin="0"
  1015. Padding="2"
  1016. HorizontalAlignment="Stretch"
  1017. VerticalAlignment="Center"
  1018. Interval="0.1"
  1019. Maximum="9999.000"
  1020. Minimum="-9999.000"
  1021. StringFormat="F3"
  1022. Value="{Binding X_Position_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1023. </DataTemplate>
  1024. </DataGridTemplateColumn.CellEditingTemplate>
  1025. </DataGridTemplateColumn>
  1026. <!-- X 终点速度 -->
  1027. <DataGridTemplateColumn
  1028. Width="Auto"
  1029. MinWidth="60"
  1030. Header="X终点速度">
  1031. <DataGridTemplateColumn.CellTemplate>
  1032. <DataTemplate>
  1033. <TextBlock
  1034. HorizontalAlignment="Center"
  1035. VerticalAlignment="Center"
  1036. Text="{Binding X_Velocity_Stop, StringFormat={}{0:F0}}" />
  1037. </DataTemplate>
  1038. </DataGridTemplateColumn.CellTemplate>
  1039. <DataGridTemplateColumn.CellEditingTemplate>
  1040. <DataTemplate>
  1041. <mah:NumericUpDown
  1042. Margin="0"
  1043. Padding="2"
  1044. HorizontalAlignment="Stretch"
  1045. VerticalAlignment="Center"
  1046. Interval="1"
  1047. Maximum="9999.000"
  1048. Minimum="0"
  1049. StringFormat="F3"
  1050. Value="{Binding X_Velocity_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1051. </DataTemplate>
  1052. </DataGridTemplateColumn.CellEditingTemplate>
  1053. </DataGridTemplateColumn>
  1054. <!-- Y 起点坐标 -->
  1055. <DataGridTemplateColumn
  1056. Width="Auto"
  1057. MinWidth="60"
  1058. Header="Y起点位置">
  1059. <DataGridTemplateColumn.CellTemplate>
  1060. <DataTemplate>
  1061. <TextBlock
  1062. HorizontalAlignment="Center"
  1063. VerticalAlignment="Center"
  1064. Text="{Binding Y_Position_Start, StringFormat={}{0:F3}}" />
  1065. </DataTemplate>
  1066. </DataGridTemplateColumn.CellTemplate>
  1067. <DataGridTemplateColumn.CellEditingTemplate>
  1068. <DataTemplate>
  1069. <mah:NumericUpDown
  1070. Margin="0"
  1071. Padding="2"
  1072. HorizontalAlignment="Stretch"
  1073. VerticalAlignment="Center"
  1074. Interval="0.1"
  1075. Maximum="9999.000"
  1076. Minimum="-9999.000"
  1077. StringFormat="F3"
  1078. Value="{Binding Y_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1079. </DataTemplate>
  1080. </DataGridTemplateColumn.CellEditingTemplate>
  1081. </DataGridTemplateColumn>
  1082. <!-- Y 起点速度 -->
  1083. <DataGridTemplateColumn
  1084. Width="Auto"
  1085. MinWidth="60"
  1086. Header="Y起点速度">
  1087. <DataGridTemplateColumn.CellTemplate>
  1088. <DataTemplate>
  1089. <TextBlock
  1090. HorizontalAlignment="Center"
  1091. VerticalAlignment="Center"
  1092. Text="{Binding Y_Velocity_Start, StringFormat={}{0:F0}}" />
  1093. </DataTemplate>
  1094. </DataGridTemplateColumn.CellTemplate>
  1095. <DataGridTemplateColumn.CellEditingTemplate>
  1096. <DataTemplate>
  1097. <mah:NumericUpDown
  1098. Margin="0"
  1099. Padding="2"
  1100. HorizontalAlignment="Stretch"
  1101. VerticalAlignment="Center"
  1102. Interval="1"
  1103. Maximum="9999.000"
  1104. Minimum="0"
  1105. StringFormat="F3"
  1106. Value="{Binding Y_Velocity_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1107. </DataTemplate>
  1108. </DataGridTemplateColumn.CellEditingTemplate>
  1109. </DataGridTemplateColumn>
  1110. <!-- Y 终点坐标 -->
  1111. <DataGridTemplateColumn
  1112. Width="Auto"
  1113. MinWidth="60"
  1114. Header="Y终点位置">
  1115. <DataGridTemplateColumn.CellTemplate>
  1116. <DataTemplate>
  1117. <TextBlock
  1118. HorizontalAlignment="Center"
  1119. VerticalAlignment="Center"
  1120. Text="{Binding Y_Position_Stop, StringFormat={}{0:F3}}" />
  1121. </DataTemplate>
  1122. </DataGridTemplateColumn.CellTemplate>
  1123. <DataGridTemplateColumn.CellEditingTemplate>
  1124. <DataTemplate>
  1125. <mah:NumericUpDown
  1126. Margin="0"
  1127. Padding="2"
  1128. HorizontalAlignment="Stretch"
  1129. VerticalAlignment="Center"
  1130. Interval="0.1"
  1131. Maximum="9999.000"
  1132. Minimum="-9999.000"
  1133. StringFormat="F3"
  1134. Value="{Binding Y_Position_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1135. </DataTemplate>
  1136. </DataGridTemplateColumn.CellEditingTemplate>
  1137. </DataGridTemplateColumn>
  1138. <!-- Y 终点速度 -->
  1139. <DataGridTemplateColumn
  1140. Width="Auto"
  1141. MinWidth="60"
  1142. Header="Y终点速度">
  1143. <DataGridTemplateColumn.CellTemplate>
  1144. <DataTemplate>
  1145. <TextBlock
  1146. HorizontalAlignment="Center"
  1147. VerticalAlignment="Center"
  1148. Text="{Binding Y_Velocity_Stop, StringFormat={}{0:F0}}" />
  1149. </DataTemplate>
  1150. </DataGridTemplateColumn.CellTemplate>
  1151. <DataGridTemplateColumn.CellEditingTemplate>
  1152. <DataTemplate>
  1153. <mah:NumericUpDown
  1154. Margin="0"
  1155. Padding="2"
  1156. HorizontalAlignment="Stretch"
  1157. VerticalAlignment="Center"
  1158. Interval="1"
  1159. Maximum="9999.000"
  1160. Minimum="0"
  1161. StringFormat="F3"
  1162. Value="{Binding Y_Velocity_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1163. </DataTemplate>
  1164. </DataGridTemplateColumn.CellEditingTemplate>
  1165. </DataGridTemplateColumn>
  1166. <!-- Z 起点坐标 -->
  1167. <DataGridTemplateColumn
  1168. Width="Auto"
  1169. MinWidth="60"
  1170. Header="Z起点位置">
  1171. <DataGridTemplateColumn.CellTemplate>
  1172. <DataTemplate>
  1173. <TextBlock
  1174. HorizontalAlignment="Center"
  1175. VerticalAlignment="Center"
  1176. Text="{Binding Z_Position_Start, StringFormat={}{0:F3}}" />
  1177. </DataTemplate>
  1178. </DataGridTemplateColumn.CellTemplate>
  1179. <DataGridTemplateColumn.CellEditingTemplate>
  1180. <DataTemplate>
  1181. <mah:NumericUpDown
  1182. Margin="0"
  1183. Padding="2"
  1184. HorizontalAlignment="Stretch"
  1185. VerticalAlignment="Center"
  1186. Interval="0.1"
  1187. Maximum="9999.000"
  1188. Minimum="-9999.000"
  1189. StringFormat="F3"
  1190. Value="{Binding Z_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1191. </DataTemplate>
  1192. </DataGridTemplateColumn.CellEditingTemplate>
  1193. </DataGridTemplateColumn>
  1194. <!-- Z 起点速度 -->
  1195. <DataGridTemplateColumn
  1196. Width="Auto"
  1197. MinWidth="60"
  1198. Header="Z起点速度">
  1199. <DataGridTemplateColumn.CellTemplate>
  1200. <DataTemplate>
  1201. <TextBlock
  1202. HorizontalAlignment="Center"
  1203. VerticalAlignment="Center"
  1204. Text="{Binding Z_Velocity_Start, StringFormat={}{0:F0}}" />
  1205. </DataTemplate>
  1206. </DataGridTemplateColumn.CellTemplate>
  1207. <DataGridTemplateColumn.CellEditingTemplate>
  1208. <DataTemplate>
  1209. <mah:NumericUpDown
  1210. Margin="0"
  1211. Padding="2"
  1212. HorizontalAlignment="Stretch"
  1213. VerticalAlignment="Center"
  1214. Interval="1"
  1215. Maximum="9999.000"
  1216. Minimum="0"
  1217. StringFormat="F3"
  1218. Value="{Binding Z_Velocity_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1219. </DataTemplate>
  1220. </DataGridTemplateColumn.CellEditingTemplate>
  1221. </DataGridTemplateColumn>
  1222. <!-- Z 终点坐标 -->
  1223. <DataGridTemplateColumn
  1224. Width="Auto"
  1225. MinWidth="60"
  1226. Header="Z终点位置">
  1227. <DataGridTemplateColumn.CellTemplate>
  1228. <DataTemplate>
  1229. <TextBlock
  1230. HorizontalAlignment="Center"
  1231. VerticalAlignment="Center"
  1232. Text="{Binding Z_Position_Stop, StringFormat={}{0:F3}}" />
  1233. </DataTemplate>
  1234. </DataGridTemplateColumn.CellTemplate>
  1235. <DataGridTemplateColumn.CellEditingTemplate>
  1236. <DataTemplate>
  1237. <mah:NumericUpDown
  1238. Margin="0"
  1239. Padding="2"
  1240. HorizontalAlignment="Stretch"
  1241. VerticalAlignment="Center"
  1242. Interval="0.1"
  1243. Maximum="9999.000"
  1244. Minimum="-9999.000"
  1245. StringFormat="F3"
  1246. Value="{Binding Z_Position_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1247. </DataTemplate>
  1248. </DataGridTemplateColumn.CellEditingTemplate>
  1249. </DataGridTemplateColumn>
  1250. <!-- Z 终点速度 -->
  1251. <DataGridTemplateColumn
  1252. Width="Auto"
  1253. MinWidth="60"
  1254. Header="Z终点速度">
  1255. <DataGridTemplateColumn.CellTemplate>
  1256. <DataTemplate>
  1257. <TextBlock
  1258. HorizontalAlignment="Center"
  1259. VerticalAlignment="Center"
  1260. Text="{Binding Z_Velocity_Stop, StringFormat={}{0:F0}}" />
  1261. </DataTemplate>
  1262. </DataGridTemplateColumn.CellTemplate>
  1263. <DataGridTemplateColumn.CellEditingTemplate>
  1264. <DataTemplate>
  1265. <mah:NumericUpDown
  1266. Margin="0"
  1267. Padding="2"
  1268. HorizontalAlignment="Stretch"
  1269. VerticalAlignment="Center"
  1270. Interval="1"
  1271. Maximum="9999.000"
  1272. Minimum="0"
  1273. StringFormat="F3"
  1274. Value="{Binding Z_Velocity_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1275. </DataTemplate>
  1276. </DataGridTemplateColumn.CellEditingTemplate>
  1277. </DataGridTemplateColumn>
  1278. <!-- U 起点坐标 -->
  1279. <DataGridTemplateColumn
  1280. Width="Auto"
  1281. MinWidth="60"
  1282. Header="U起点位置">
  1283. <DataGridTemplateColumn.CellTemplate>
  1284. <DataTemplate>
  1285. <TextBlock
  1286. HorizontalAlignment="Center"
  1287. VerticalAlignment="Center"
  1288. Text="{Binding U_Position_Start, StringFormat={}{0:F3}}" />
  1289. </DataTemplate>
  1290. </DataGridTemplateColumn.CellTemplate>
  1291. <DataGridTemplateColumn.CellEditingTemplate>
  1292. <DataTemplate>
  1293. <mah:NumericUpDown
  1294. Margin="0"
  1295. Padding="2"
  1296. HorizontalAlignment="Stretch"
  1297. VerticalAlignment="Center"
  1298. Interval="0.1"
  1299. Maximum="9999.000"
  1300. Minimum="-9999.000"
  1301. StringFormat="F3"
  1302. Value="{Binding U_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1303. </DataTemplate>
  1304. </DataGridTemplateColumn.CellEditingTemplate>
  1305. </DataGridTemplateColumn>
  1306. <!-- U 起点速度 -->
  1307. <DataGridTemplateColumn
  1308. Width="Auto"
  1309. MinWidth="60"
  1310. Header="U起点速度">
  1311. <DataGridTemplateColumn.CellTemplate>
  1312. <DataTemplate>
  1313. <TextBlock
  1314. HorizontalAlignment="Center"
  1315. VerticalAlignment="Center"
  1316. Text="{Binding U_Velocity_Start, StringFormat={}{0:F0}}" />
  1317. </DataTemplate>
  1318. </DataGridTemplateColumn.CellTemplate>
  1319. <DataGridTemplateColumn.CellEditingTemplate>
  1320. <DataTemplate>
  1321. <mah:NumericUpDown
  1322. Margin="0"
  1323. Padding="2"
  1324. HorizontalAlignment="Stretch"
  1325. VerticalAlignment="Center"
  1326. Interval="1"
  1327. Maximum="9999.000"
  1328. Minimum="0"
  1329. StringFormat="F3"
  1330. Value="{Binding U_Velocity_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1331. </DataTemplate>
  1332. </DataGridTemplateColumn.CellEditingTemplate>
  1333. </DataGridTemplateColumn>
  1334. <!-- U 终点坐标 -->
  1335. <DataGridTemplateColumn
  1336. Width="Auto"
  1337. MinWidth="60"
  1338. Header="U终点位置">
  1339. <DataGridTemplateColumn.CellTemplate>
  1340. <DataTemplate>
  1341. <TextBlock
  1342. HorizontalAlignment="Center"
  1343. VerticalAlignment="Center"
  1344. Text="{Binding U_Position_Stop, StringFormat={}{0:F3}}" />
  1345. </DataTemplate>
  1346. </DataGridTemplateColumn.CellTemplate>
  1347. <DataGridTemplateColumn.CellEditingTemplate>
  1348. <DataTemplate>
  1349. <mah:NumericUpDown
  1350. Margin="0"
  1351. Padding="2"
  1352. HorizontalAlignment="Stretch"
  1353. VerticalAlignment="Center"
  1354. Interval="0.1"
  1355. Maximum="9999.000"
  1356. Minimum="-9999.000"
  1357. StringFormat="F3"
  1358. Value="{Binding U_Position_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1359. </DataTemplate>
  1360. </DataGridTemplateColumn.CellEditingTemplate>
  1361. </DataGridTemplateColumn>
  1362. <!-- U 终点速度 -->
  1363. <DataGridTemplateColumn
  1364. Width="Auto"
  1365. MinWidth="60"
  1366. Header="U终点速度">
  1367. <DataGridTemplateColumn.CellTemplate>
  1368. <DataTemplate>
  1369. <TextBlock
  1370. HorizontalAlignment="Center"
  1371. VerticalAlignment="Center"
  1372. Text="{Binding U_Velocity_Stop, StringFormat={}{0:F0}}" />
  1373. </DataTemplate>
  1374. </DataGridTemplateColumn.CellTemplate>
  1375. <DataGridTemplateColumn.CellEditingTemplate>
  1376. <DataTemplate>
  1377. <mah:NumericUpDown
  1378. Margin="0"
  1379. Padding="2"
  1380. HorizontalAlignment="Stretch"
  1381. VerticalAlignment="Center"
  1382. Interval="1"
  1383. Maximum="9999.000"
  1384. Minimum="0"
  1385. StringFormat="F3"
  1386. Value="{Binding U_Velocity_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1387. </DataTemplate>
  1388. </DataGridTemplateColumn.CellEditingTemplate>
  1389. </DataGridTemplateColumn>
  1390. <!-- V 起点坐标 -->
  1391. <DataGridTemplateColumn
  1392. Width="Auto"
  1393. MinWidth="60"
  1394. Header="V起点位置">
  1395. <DataGridTemplateColumn.CellTemplate>
  1396. <DataTemplate>
  1397. <TextBlock
  1398. HorizontalAlignment="Center"
  1399. VerticalAlignment="Center"
  1400. Text="{Binding V_Position_Start, StringFormat={}{0:F3}}" />
  1401. </DataTemplate>
  1402. </DataGridTemplateColumn.CellTemplate>
  1403. <DataGridTemplateColumn.CellEditingTemplate>
  1404. <DataTemplate>
  1405. <mah:NumericUpDown
  1406. Margin="0"
  1407. Padding="2"
  1408. HorizontalAlignment="Stretch"
  1409. VerticalAlignment="Center"
  1410. Interval="0.1"
  1411. Maximum="9999.000"
  1412. Minimum="-9999.000"
  1413. StringFormat="F3"
  1414. Value="{Binding V_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1415. </DataTemplate>
  1416. </DataGridTemplateColumn.CellEditingTemplate>
  1417. </DataGridTemplateColumn>
  1418. <!-- V 起点速度 -->
  1419. <DataGridTemplateColumn
  1420. Width="Auto"
  1421. MinWidth="60"
  1422. Header="V起点速度">
  1423. <DataGridTemplateColumn.CellTemplate>
  1424. <DataTemplate>
  1425. <TextBlock
  1426. HorizontalAlignment="Center"
  1427. VerticalAlignment="Center"
  1428. Text="{Binding V_Velocity_Start, StringFormat={}{0:F0}}" />
  1429. </DataTemplate>
  1430. </DataGridTemplateColumn.CellTemplate>
  1431. <DataGridTemplateColumn.CellEditingTemplate>
  1432. <DataTemplate>
  1433. <mah:NumericUpDown
  1434. Margin="0"
  1435. Padding="2"
  1436. HorizontalAlignment="Stretch"
  1437. VerticalAlignment="Center"
  1438. Interval="1"
  1439. Maximum="9999.000"
  1440. Minimum="0"
  1441. StringFormat="F3"
  1442. Value="{Binding V_Velocity_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1443. </DataTemplate>
  1444. </DataGridTemplateColumn.CellEditingTemplate>
  1445. </DataGridTemplateColumn>
  1446. <!-- V 终点坐标 -->
  1447. <DataGridTemplateColumn
  1448. Width="Auto"
  1449. MinWidth="60"
  1450. Header="V终点位置">
  1451. <DataGridTemplateColumn.CellTemplate>
  1452. <DataTemplate>
  1453. <TextBlock
  1454. HorizontalAlignment="Center"
  1455. VerticalAlignment="Center"
  1456. Text="{Binding V_Position_Stop, StringFormat={}{0:F3}}" />
  1457. </DataTemplate>
  1458. </DataGridTemplateColumn.CellTemplate>
  1459. <DataGridTemplateColumn.CellEditingTemplate>
  1460. <DataTemplate>
  1461. <mah:NumericUpDown
  1462. Margin="0"
  1463. Padding="2"
  1464. HorizontalAlignment="Stretch"
  1465. VerticalAlignment="Center"
  1466. Interval="0.1"
  1467. Maximum="9999.000"
  1468. Minimum="-9999.000"
  1469. StringFormat="F3"
  1470. Value="{Binding V_Position_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1471. </DataTemplate>
  1472. </DataGridTemplateColumn.CellEditingTemplate>
  1473. </DataGridTemplateColumn>
  1474. <!-- V 终点速度 -->
  1475. <DataGridTemplateColumn
  1476. Width="Auto"
  1477. MinWidth="60"
  1478. Header="V终点速度">
  1479. <DataGridTemplateColumn.CellTemplate>
  1480. <DataTemplate>
  1481. <TextBlock
  1482. HorizontalAlignment="Center"
  1483. VerticalAlignment="Center"
  1484. Text="{Binding V_Velocity_Stop, StringFormat={}{0:F0}}" />
  1485. </DataTemplate>
  1486. </DataGridTemplateColumn.CellTemplate>
  1487. <DataGridTemplateColumn.CellEditingTemplate>
  1488. <DataTemplate>
  1489. <mah:NumericUpDown
  1490. Margin="0"
  1491. Padding="2"
  1492. HorizontalAlignment="Stretch"
  1493. VerticalAlignment="Center"
  1494. Interval="1"
  1495. Maximum="9999.000"
  1496. Minimum="0"
  1497. StringFormat="F3"
  1498. Value="{Binding V_Velocity_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1499. </DataTemplate>
  1500. </DataGridTemplateColumn.CellEditingTemplate>
  1501. </DataGridTemplateColumn>
  1502. <!-- W 起点坐标 -->
  1503. <DataGridTemplateColumn
  1504. Width="Auto"
  1505. MinWidth="60"
  1506. Header="W起点位置">
  1507. <DataGridTemplateColumn.CellTemplate>
  1508. <DataTemplate>
  1509. <TextBlock
  1510. HorizontalAlignment="Center"
  1511. VerticalAlignment="Center"
  1512. Text="{Binding W_Position_Start, StringFormat={}{0:F3}}" />
  1513. </DataTemplate>
  1514. </DataGridTemplateColumn.CellTemplate>
  1515. <DataGridTemplateColumn.CellEditingTemplate>
  1516. <DataTemplate>
  1517. <mah:NumericUpDown
  1518. Margin="0"
  1519. Padding="2"
  1520. HorizontalAlignment="Stretch"
  1521. VerticalAlignment="Center"
  1522. Interval="0.1"
  1523. Maximum="9999.000"
  1524. Minimum="-9999.000"
  1525. StringFormat="F3"
  1526. Value="{Binding W_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1527. </DataTemplate>
  1528. </DataGridTemplateColumn.CellEditingTemplate>
  1529. </DataGridTemplateColumn>
  1530. <!-- W 起点速度 -->
  1531. <DataGridTemplateColumn
  1532. Width="Auto"
  1533. MinWidth="60"
  1534. Header="W起点速度">
  1535. <DataGridTemplateColumn.CellTemplate>
  1536. <DataTemplate>
  1537. <TextBlock
  1538. HorizontalAlignment="Center"
  1539. VerticalAlignment="Center"
  1540. Text="{Binding W_Velocity_Start, StringFormat={}{0:F0}}" />
  1541. </DataTemplate>
  1542. </DataGridTemplateColumn.CellTemplate>
  1543. <DataGridTemplateColumn.CellEditingTemplate>
  1544. <DataTemplate>
  1545. <mah:NumericUpDown
  1546. Margin="0"
  1547. Padding="2"
  1548. HorizontalAlignment="Stretch"
  1549. VerticalAlignment="Center"
  1550. Interval="1"
  1551. Maximum="9999.000"
  1552. Minimum="0"
  1553. StringFormat="F3"
  1554. Value="{Binding W_Velocity_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1555. </DataTemplate>
  1556. </DataGridTemplateColumn.CellEditingTemplate>
  1557. </DataGridTemplateColumn>
  1558. <!-- W 终点坐标 -->
  1559. <DataGridTemplateColumn
  1560. Width="Auto"
  1561. MinWidth="60"
  1562. Header="W终点位置">
  1563. <DataGridTemplateColumn.CellTemplate>
  1564. <DataTemplate>
  1565. <TextBlock
  1566. HorizontalAlignment="Center"
  1567. VerticalAlignment="Center"
  1568. Text="{Binding W_Position_Stop, StringFormat={}{0:F3}}" />
  1569. </DataTemplate>
  1570. </DataGridTemplateColumn.CellTemplate>
  1571. <DataGridTemplateColumn.CellEditingTemplate>
  1572. <DataTemplate>
  1573. <mah:NumericUpDown
  1574. Margin="0"
  1575. Padding="2"
  1576. HorizontalAlignment="Stretch"
  1577. VerticalAlignment="Center"
  1578. Interval="0.1"
  1579. Maximum="9999.000"
  1580. Minimum="-9999.000"
  1581. StringFormat="F3"
  1582. Value="{Binding W_Position_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1583. </DataTemplate>
  1584. </DataGridTemplateColumn.CellEditingTemplate>
  1585. </DataGridTemplateColumn>
  1586. <!-- W 终点速度 -->
  1587. <DataGridTemplateColumn
  1588. Width="Auto"
  1589. MinWidth="60"
  1590. Header="W终点速度">
  1591. <DataGridTemplateColumn.CellTemplate>
  1592. <DataTemplate>
  1593. <TextBlock
  1594. HorizontalAlignment="Center"
  1595. VerticalAlignment="Center"
  1596. Text="{Binding W_Velocity_Stop, StringFormat={}{0:F0}}" />
  1597. </DataTemplate>
  1598. </DataGridTemplateColumn.CellTemplate>
  1599. <DataGridTemplateColumn.CellEditingTemplate>
  1600. <DataTemplate>
  1601. <mah:NumericUpDown
  1602. Margin="0"
  1603. Padding="2"
  1604. HorizontalAlignment="Stretch"
  1605. VerticalAlignment="Center"
  1606. Interval="1"
  1607. Maximum="9999.000"
  1608. Minimum="0"
  1609. StringFormat="F3"
  1610. Value="{Binding W_Velocity_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1611. </DataTemplate>
  1612. </DataGridTemplateColumn.CellEditingTemplate>
  1613. </DataGridTemplateColumn>
  1614. <!-- 启用本起始位节点 -->
  1615. <DataGridTemplateColumn
  1616. Width="Auto"
  1617. MinWidth="60"
  1618. Header="启用本起始位节点">
  1619. <DataGridTemplateColumn.CellTemplate>
  1620. <DataTemplate>
  1621. <TextBlock
  1622. HorizontalAlignment="Center"
  1623. VerticalAlignment="Center"
  1624. Text="{Binding Enable_Start_Node, StringFormat={}{0:F0}}" />
  1625. </DataTemplate>
  1626. </DataGridTemplateColumn.CellTemplate>
  1627. <DataGridTemplateColumn.CellEditingTemplate>
  1628. <DataTemplate>
  1629. <mah:NumericUpDown
  1630. Margin="0"
  1631. Padding="2"
  1632. HorizontalAlignment="Stretch"
  1633. VerticalAlignment="Center"
  1634. Interval="1"
  1635. Maximum="9999.000"
  1636. Minimum="0"
  1637. StringFormat="F3"
  1638. Value="{Binding Enable_Start_Node, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1639. </DataTemplate>
  1640. </DataGridTemplateColumn.CellEditingTemplate>
  1641. </DataGridTemplateColumn>
  1642. <!-- 启用脉冲 -->
  1643. <DataGridTemplateColumn
  1644. Width="Auto"
  1645. MinWidth="60"
  1646. Header="启用脉冲">
  1647. <DataGridTemplateColumn.CellTemplate>
  1648. <DataTemplate>
  1649. <TextBlock
  1650. HorizontalAlignment="Center"
  1651. VerticalAlignment="Center"
  1652. Text="{Binding Enable_Pulse, StringFormat={}{0:F0}}" />
  1653. </DataTemplate>
  1654. </DataGridTemplateColumn.CellTemplate>
  1655. <DataGridTemplateColumn.CellEditingTemplate>
  1656. <DataTemplate>
  1657. <mah:NumericUpDown
  1658. Margin="0"
  1659. Padding="2"
  1660. HorizontalAlignment="Stretch"
  1661. VerticalAlignment="Center"
  1662. Interval="1"
  1663. Maximum="9999.000"
  1664. Minimum="0"
  1665. StringFormat="F3"
  1666. Value="{Binding Enable_Pulse, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1667. </DataTemplate>
  1668. </DataGridTemplateColumn.CellEditingTemplate>
  1669. </DataGridTemplateColumn>
  1670. <!-- 启用3D -->
  1671. <DataGridTemplateColumn
  1672. Width="Auto"
  1673. MinWidth="60"
  1674. Header="启用3D">
  1675. <DataGridTemplateColumn.CellTemplate>
  1676. <DataTemplate>
  1677. <TextBlock
  1678. HorizontalAlignment="Center"
  1679. VerticalAlignment="Center"
  1680. Text="{Binding Enable_3D, StringFormat={}{0:F0}}" />
  1681. </DataTemplate>
  1682. </DataGridTemplateColumn.CellTemplate>
  1683. <DataGridTemplateColumn.CellEditingTemplate>
  1684. <DataTemplate>
  1685. <mah:NumericUpDown
  1686. Margin="0"
  1687. Padding="2"
  1688. HorizontalAlignment="Stretch"
  1689. VerticalAlignment="Center"
  1690. Interval="1"
  1691. Maximum="9999.000"
  1692. Minimum="0"
  1693. StringFormat="F3"
  1694. Value="{Binding Enable_3D, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1695. </DataTemplate>
  1696. </DataGridTemplateColumn.CellEditingTemplate>
  1697. </DataGridTemplateColumn>
  1698. <!-- 启用等待完成 -->
  1699. <DataGridTemplateColumn
  1700. Width="Auto"
  1701. MinWidth="60"
  1702. Header="启用等待完成">
  1703. <DataGridTemplateColumn.CellTemplate>
  1704. <DataTemplate>
  1705. <TextBlock
  1706. HorizontalAlignment="Center"
  1707. VerticalAlignment="Center"
  1708. Text="{Binding Enable_Wait_Finish, StringFormat={}{0:F0}}" />
  1709. </DataTemplate>
  1710. </DataGridTemplateColumn.CellTemplate>
  1711. <DataGridTemplateColumn.CellEditingTemplate>
  1712. <DataTemplate>
  1713. <mah:NumericUpDown
  1714. Margin="0"
  1715. Padding="2"
  1716. HorizontalAlignment="Stretch"
  1717. VerticalAlignment="Center"
  1718. Interval="1"
  1719. Maximum="9999.000"
  1720. Minimum="0"
  1721. StringFormat="F3"
  1722. Value="{Binding Enable_Wait_Finish, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1723. </DataTemplate>
  1724. </DataGridTemplateColumn.CellEditingTemplate>
  1725. </DataGridTemplateColumn>
  1726. <!-- 启用Light1 -->
  1727. <DataGridTemplateColumn
  1728. Width="Auto"
  1729. MinWidth="60"
  1730. Header="启用Light1">
  1731. <DataGridTemplateColumn.CellTemplate>
  1732. <DataTemplate>
  1733. <TextBlock
  1734. HorizontalAlignment="Center"
  1735. VerticalAlignment="Center"
  1736. Text="{Binding Enable_Light1, StringFormat={}{0:F0}}" />
  1737. </DataTemplate>
  1738. </DataGridTemplateColumn.CellTemplate>
  1739. <DataGridTemplateColumn.CellEditingTemplate>
  1740. <DataTemplate>
  1741. <mah:NumericUpDown
  1742. Margin="0"
  1743. Padding="2"
  1744. HorizontalAlignment="Stretch"
  1745. VerticalAlignment="Center"
  1746. Interval="1"
  1747. Maximum="9999.000"
  1748. Minimum="0"
  1749. StringFormat="F3"
  1750. Value="{Binding Enable_Light1, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1751. </DataTemplate>
  1752. </DataGridTemplateColumn.CellEditingTemplate>
  1753. </DataGridTemplateColumn>
  1754. <!-- 启用Light2 -->
  1755. <DataGridTemplateColumn
  1756. Width="Auto"
  1757. MinWidth="60"
  1758. Header="启用Light2">
  1759. <DataGridTemplateColumn.CellTemplate>
  1760. <DataTemplate>
  1761. <TextBlock
  1762. HorizontalAlignment="Center"
  1763. VerticalAlignment="Center"
  1764. Text="{Binding Enable_Light2, StringFormat={}{0:F0}}" />
  1765. </DataTemplate>
  1766. </DataGridTemplateColumn.CellTemplate>
  1767. <DataGridTemplateColumn.CellEditingTemplate>
  1768. <DataTemplate>
  1769. <mah:NumericUpDown
  1770. Margin="0"
  1771. Padding="2"
  1772. HorizontalAlignment="Stretch"
  1773. VerticalAlignment="Center"
  1774. Interval="1"
  1775. Maximum="9999.000"
  1776. Minimum="0"
  1777. StringFormat="F3"
  1778. Value="{Binding Enable_Light2, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1779. </DataTemplate>
  1780. </DataGridTemplateColumn.CellEditingTemplate>
  1781. </DataGridTemplateColumn>
  1782. <!-- 启用Light3 -->
  1783. <DataGridTemplateColumn
  1784. Width="Auto"
  1785. MinWidth="60"
  1786. Header="启用Light3">
  1787. <DataGridTemplateColumn.CellTemplate>
  1788. <DataTemplate>
  1789. <TextBlock
  1790. HorizontalAlignment="Center"
  1791. VerticalAlignment="Center"
  1792. Text="{Binding Enable_Light3, StringFormat={}{0:F0}}" />
  1793. </DataTemplate>
  1794. </DataGridTemplateColumn.CellTemplate>
  1795. <DataGridTemplateColumn.CellEditingTemplate>
  1796. <DataTemplate>
  1797. <mah:NumericUpDown
  1798. Margin="0"
  1799. Padding="2"
  1800. HorizontalAlignment="Stretch"
  1801. VerticalAlignment="Center"
  1802. Interval="1"
  1803. Maximum="9999.000"
  1804. Minimum="0"
  1805. StringFormat="F3"
  1806. Value="{Binding Enable_Light3, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1807. </DataTemplate>
  1808. </DataGridTemplateColumn.CellEditingTemplate>
  1809. </DataGridTemplateColumn>
  1810. <!-- 启用Light4 -->
  1811. <DataGridTemplateColumn
  1812. Width="Auto"
  1813. MinWidth="60"
  1814. Header="启用Light4">
  1815. <DataGridTemplateColumn.CellTemplate>
  1816. <DataTemplate>
  1817. <TextBlock
  1818. HorizontalAlignment="Center"
  1819. VerticalAlignment="Center"
  1820. Text="{Binding Enable_Light4, StringFormat={}{0:F0}}" />
  1821. </DataTemplate>
  1822. </DataGridTemplateColumn.CellTemplate>
  1823. <DataGridTemplateColumn.CellEditingTemplate>
  1824. <DataTemplate>
  1825. <mah:NumericUpDown
  1826. Margin="0"
  1827. Padding="2"
  1828. HorizontalAlignment="Stretch"
  1829. VerticalAlignment="Center"
  1830. Interval="1"
  1831. Maximum="9999.000"
  1832. Minimum="0"
  1833. StringFormat="F3"
  1834. Value="{Binding Enable_Light4, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1835. </DataTemplate>
  1836. </DataGridTemplateColumn.CellEditingTemplate>
  1837. </DataGridTemplateColumn>
  1838. <!-- 启用深度学习 -->
  1839. <DataGridTemplateColumn
  1840. Width="Auto"
  1841. MinWidth="60"
  1842. Header="启用启用深度学习">
  1843. <DataGridTemplateColumn.CellTemplate>
  1844. <DataTemplate>
  1845. <TextBlock
  1846. HorizontalAlignment="Center"
  1847. VerticalAlignment="Center"
  1848. Text="{Binding AiVision, StringFormat={}{0:F0}}" />
  1849. </DataTemplate>
  1850. </DataGridTemplateColumn.CellTemplate>
  1851. <DataGridTemplateColumn.CellEditingTemplate>
  1852. <DataTemplate>
  1853. <mah:NumericUpDown
  1854. Margin="0"
  1855. Padding="2"
  1856. HorizontalAlignment="Stretch"
  1857. VerticalAlignment="Center"
  1858. Interval="1"
  1859. Maximum="9999.000"
  1860. Minimum="0"
  1861. StringFormat="F3"
  1862. Value="{Binding AiVision, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1863. </DataTemplate>
  1864. </DataGridTemplateColumn.CellEditingTemplate>
  1865. </DataGridTemplateColumn>
  1866. <!-- 左上相机对应的视觉流程选择 -->
  1867. <DataGridTemplateColumn
  1868. Width="Auto"
  1869. MinWidth="150"
  1870. Header="2D相机1视觉流程">
  1871. <DataGridTemplateColumn.CellTemplate>
  1872. <DataTemplate>
  1873. <!-- 显示已选流程名称(只读) -->
  1874. <ComboBox
  1875. MinWidth="120"
  1876. DisplayMemberPath="Name"
  1877. IsHitTestVisible="False"
  1878. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1879. SelectedValue="{Binding CameraProcedureId1, Mode=OneWay}"
  1880. SelectedValuePath="Id"
  1881. Visibility="{Binding DataContext.IsCamera1Use, ElementName=dgPoints}" />
  1882. </DataTemplate>
  1883. </DataGridTemplateColumn.CellTemplate>
  1884. <DataGridTemplateColumn.CellEditingTemplate>
  1885. <DataTemplate>
  1886. <ComboBox
  1887. MinWidth="120"
  1888. DisplayMemberPath="Name"
  1889. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1890. SelectedValue="{Binding CameraProcedureId1, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1891. SelectedValuePath="Id"
  1892. Visibility="{Binding DataContext.IsCamera1Use, ElementName=dgPoints}" />
  1893. </DataTemplate>
  1894. </DataGridTemplateColumn.CellEditingTemplate>
  1895. </DataGridTemplateColumn>
  1896. <!-- 左下相机对应的视觉流程选择 -->
  1897. <DataGridTemplateColumn
  1898. Width="Auto"
  1899. MinWidth="150"
  1900. Header="2D相机2视觉流程">
  1901. <DataGridTemplateColumn.CellTemplate>
  1902. <DataTemplate>
  1903. <!-- 显示已选流程名称(只读) -->
  1904. <ComboBox
  1905. MinWidth="120"
  1906. DisplayMemberPath="Name"
  1907. IsHitTestVisible="False"
  1908. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1909. SelectedValue="{Binding CameraProcedureId2, Mode=OneWay}"
  1910. SelectedValuePath="Id"
  1911. Visibility="{Binding DataContext.IsCamera2Use, ElementName=dgPoints}" />
  1912. </DataTemplate>
  1913. </DataGridTemplateColumn.CellTemplate>
  1914. <DataGridTemplateColumn.CellEditingTemplate>
  1915. <DataTemplate>
  1916. <ComboBox
  1917. MinWidth="120"
  1918. DisplayMemberPath="Name"
  1919. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1920. SelectedValue="{Binding CameraProcedureId2, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1921. SelectedValuePath="Id"
  1922. Visibility="{Binding DataContext.IsCamera2Use, ElementName=dgPoints}" />
  1923. </DataTemplate>
  1924. </DataGridTemplateColumn.CellEditingTemplate>
  1925. </DataGridTemplateColumn>
  1926. <!-- 右上相机对应的视觉流程选择 -->
  1927. <DataGridTemplateColumn
  1928. Width="Auto"
  1929. MinWidth="150"
  1930. Header="2D相机3视觉流程">
  1931. <DataGridTemplateColumn.CellTemplate>
  1932. <DataTemplate>
  1933. <!-- 显示已选流程名称(只读) -->
  1934. <ComboBox
  1935. MinWidth="120"
  1936. DisplayMemberPath="Name"
  1937. IsHitTestVisible="False"
  1938. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1939. SelectedValue="{Binding CameraProcedureId3, Mode=OneWay}"
  1940. SelectedValuePath="Id"
  1941. Visibility="{Binding DataContext.IsCamera3Use, ElementName=dgPoints}" />
  1942. </DataTemplate>
  1943. </DataGridTemplateColumn.CellTemplate>
  1944. <DataGridTemplateColumn.CellEditingTemplate>
  1945. <DataTemplate>
  1946. <ComboBox
  1947. MinWidth="120"
  1948. DisplayMemberPath="Name"
  1949. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1950. SelectedValue="{Binding CameraProcedureId3, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1951. SelectedValuePath="Id"
  1952. Visibility="{Binding DataContext.IsCamera3Use, ElementName=dgPoints}" />
  1953. </DataTemplate>
  1954. </DataGridTemplateColumn.CellEditingTemplate>
  1955. </DataGridTemplateColumn>
  1956. <!-- 右下相机对应的视觉流程选择 -->
  1957. <DataGridTemplateColumn
  1958. Width="Auto"
  1959. MinWidth="150"
  1960. Header="2D相机4视觉流程">
  1961. <DataGridTemplateColumn.CellTemplate>
  1962. <DataTemplate>
  1963. <!-- 显示已选流程名称(只读) -->
  1964. <ComboBox
  1965. MinWidth="120"
  1966. DisplayMemberPath="Name"
  1967. IsHitTestVisible="False"
  1968. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1969. SelectedValue="{Binding CameraProcedureId4, Mode=OneWay}"
  1970. SelectedValuePath="Id"
  1971. Visibility="{Binding DataContext.IsCamera4Use, ElementName=dgPoints}" />
  1972. </DataTemplate>
  1973. </DataGridTemplateColumn.CellTemplate>
  1974. <DataGridTemplateColumn.CellEditingTemplate>
  1975. <DataTemplate>
  1976. <ComboBox
  1977. MinWidth="120"
  1978. DisplayMemberPath="Name"
  1979. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1980. SelectedValue="{Binding CameraProcedureId4, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1981. SelectedValuePath="Id"
  1982. Visibility="{Binding DataContext.IsCamera4Use, ElementName=dgPoints}" />
  1983. </DataTemplate>
  1984. </DataGridTemplateColumn.CellEditingTemplate>
  1985. </DataGridTemplateColumn>
  1986. <!-- 相机1对应的视觉流程选择 -->
  1987. <DataGridTemplateColumn
  1988. Width="Auto"
  1989. MinWidth="150"
  1990. Header="3D相机1视觉流程">
  1991. <DataGridTemplateColumn.CellTemplate>
  1992. <DataTemplate>
  1993. <!-- 显示已选流程名称(只读) -->
  1994. <ComboBox
  1995. MinWidth="120"
  1996. DisplayMemberPath="Name"
  1997. IsHitTestVisible="False"
  1998. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1999. SelectedValue="{Binding CameraProcedureId5, Mode=OneWay}"
  2000. SelectedValuePath="Id"
  2001. Visibility="{Binding DataContext.IsCamera5Use, ElementName=dgPoints}" />
  2002. </DataTemplate>
  2003. </DataGridTemplateColumn.CellTemplate>
  2004. <DataGridTemplateColumn.CellEditingTemplate>
  2005. <DataTemplate>
  2006. <ComboBox
  2007. MinWidth="120"
  2008. DisplayMemberPath="Name"
  2009. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2010. SelectedValue="{Binding CameraProcedureId5, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  2011. SelectedValuePath="Id"
  2012. Visibility="{Binding DataContext.IsCamera5Use, ElementName=dgPoints}" />
  2013. </DataTemplate>
  2014. </DataGridTemplateColumn.CellEditingTemplate>
  2015. </DataGridTemplateColumn>
  2016. <!-- 相机2对应的视觉流程选择 -->
  2017. <DataGridTemplateColumn
  2018. Width="Auto"
  2019. MinWidth="150"
  2020. Header="3D相机2视觉流程">
  2021. <DataGridTemplateColumn.CellTemplate>
  2022. <DataTemplate>
  2023. <!-- 显示已选流程名称(只读) -->
  2024. <ComboBox
  2025. MinWidth="120"
  2026. DisplayMemberPath="Name"
  2027. IsHitTestVisible="False"
  2028. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2029. SelectedValue="{Binding CameraProcedureId6, Mode=OneWay}"
  2030. SelectedValuePath="Id"
  2031. Visibility="{Binding DataContext.IsCamera6Use, ElementName=dgPoints}" />
  2032. </DataTemplate>
  2033. </DataGridTemplateColumn.CellTemplate>
  2034. <DataGridTemplateColumn.CellEditingTemplate>
  2035. <DataTemplate>
  2036. <ComboBox
  2037. MinWidth="120"
  2038. DisplayMemberPath="Name"
  2039. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2040. SelectedValue="{Binding CameraProcedureId6, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  2041. SelectedValuePath="Id"
  2042. Visibility="{Binding DataContext.IsCamera6Use, ElementName=dgPoints}" />
  2043. </DataTemplate>
  2044. </DataGridTemplateColumn.CellEditingTemplate>
  2045. </DataGridTemplateColumn>
  2046. <!-- 相机3对应的视觉流程选择 -->
  2047. <DataGridTemplateColumn
  2048. Width="Auto"
  2049. MinWidth="150"
  2050. Header="3D相机3视觉流程">
  2051. <DataGridTemplateColumn.CellTemplate>
  2052. <DataTemplate>
  2053. <!-- 显示已选流程名称(只读) -->
  2054. <ComboBox
  2055. MinWidth="120"
  2056. DisplayMemberPath="Name"
  2057. IsHitTestVisible="False"
  2058. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2059. SelectedValue="{Binding CameraProcedureId7, Mode=OneWay}"
  2060. SelectedValuePath="Id"
  2061. Visibility="{Binding DataContext.IsCamera7Use, ElementName=dgPoints}" />
  2062. </DataTemplate>
  2063. </DataGridTemplateColumn.CellTemplate>
  2064. <DataGridTemplateColumn.CellEditingTemplate>
  2065. <DataTemplate>
  2066. <ComboBox
  2067. MinWidth="120"
  2068. DisplayMemberPath="Name"
  2069. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2070. SelectedValue="{Binding CameraProcedureId7, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  2071. SelectedValuePath="Id"
  2072. Visibility="{Binding DataContext.IsCamera7Use, ElementName=dgPoints}" />
  2073. </DataTemplate>
  2074. </DataGridTemplateColumn.CellEditingTemplate>
  2075. </DataGridTemplateColumn>
  2076. <!-- 相机4对应的视觉流程选择 -->
  2077. <DataGridTemplateColumn
  2078. Width="Auto"
  2079. MinWidth="150"
  2080. Header="3D相机4视觉流程">
  2081. <DataGridTemplateColumn.CellTemplate>
  2082. <DataTemplate>
  2083. <!-- 显示已选流程名称(只读) -->
  2084. <ComboBox
  2085. MinWidth="120"
  2086. DisplayMemberPath="Name"
  2087. IsHitTestVisible="False"
  2088. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2089. SelectedValue="{Binding CameraProcedureId8, Mode=OneWay}"
  2090. SelectedValuePath="Id"
  2091. Visibility="{Binding DataContext.IsCamera8Use, ElementName=dgPoints}" />
  2092. </DataTemplate>
  2093. </DataGridTemplateColumn.CellTemplate>
  2094. <DataGridTemplateColumn.CellEditingTemplate>
  2095. <DataTemplate>
  2096. <ComboBox
  2097. MinWidth="120"
  2098. DisplayMemberPath="Name"
  2099. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2100. SelectedValue="{Binding CameraProcedureId8, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  2101. SelectedValuePath="Id"
  2102. Visibility="{Binding DataContext.IsCamera8Use, ElementName=dgPoints}" />
  2103. </DataTemplate>
  2104. </DataGridTemplateColumn.CellEditingTemplate>
  2105. </DataGridTemplateColumn>
  2106. <!-- Camera1批处理点数 -->
  2107. <DataGridTemplateColumn
  2108. Width="Auto"
  2109. MinWidth="60"
  2110. Header="Camera1批处理点数">
  2111. <DataGridTemplateColumn.CellTemplate>
  2112. <DataTemplate>
  2113. <TextBlock
  2114. HorizontalAlignment="Center"
  2115. VerticalAlignment="Center"
  2116. Text="{Binding Camera_Data1, StringFormat={}{0:F0}}"
  2117. Visibility="{Binding DataContext.IsCameraData1Use, ElementName=dgPoints}" />
  2118. </DataTemplate>
  2119. </DataGridTemplateColumn.CellTemplate>
  2120. <DataGridTemplateColumn.CellEditingTemplate>
  2121. <DataTemplate>
  2122. <mah:NumericUpDown
  2123. Margin="0"
  2124. Padding="2"
  2125. HorizontalAlignment="Stretch"
  2126. VerticalAlignment="Center"
  2127. Interval="1"
  2128. Maximum="39587.000"
  2129. Minimum="0"
  2130. StringFormat="F3"
  2131. Visibility="{Binding DataContext.IsCameraData1Use, ElementName=dgPoints}"
  2132. Value="{Binding Camera_Data1, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  2133. </DataTemplate>
  2134. </DataGridTemplateColumn.CellEditingTemplate>
  2135. </DataGridTemplateColumn>
  2136. <!-- Camera2批处理点数 -->
  2137. <DataGridTemplateColumn
  2138. Width="Auto"
  2139. MinWidth="60"
  2140. Header="Camera2批处理点数">
  2141. <DataGridTemplateColumn.CellTemplate>
  2142. <DataTemplate>
  2143. <TextBlock
  2144. HorizontalAlignment="Center"
  2145. VerticalAlignment="Center"
  2146. Text="{Binding Camera_Data2, StringFormat={}{0:F0}}"
  2147. Visibility="{Binding DataContext.IsCameraData2Use, ElementName=dgPoints}" />
  2148. </DataTemplate>
  2149. </DataGridTemplateColumn.CellTemplate>
  2150. <DataGridTemplateColumn.CellEditingTemplate>
  2151. <DataTemplate>
  2152. <mah:NumericUpDown
  2153. Margin="0"
  2154. Padding="2"
  2155. HorizontalAlignment="Stretch"
  2156. VerticalAlignment="Center"
  2157. Interval="1"
  2158. Maximum="39587.000"
  2159. Minimum="0"
  2160. StringFormat="F3"
  2161. Visibility="{Binding DataContext.IsCameraData2Use, ElementName=dgPoints}"
  2162. Value="{Binding Camera_Data2, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  2163. </DataTemplate>
  2164. </DataGridTemplateColumn.CellEditingTemplate>
  2165. </DataGridTemplateColumn>
  2166. <!-- Camera3批处理点数 -->
  2167. <DataGridTemplateColumn
  2168. Width="Auto"
  2169. MinWidth="60"
  2170. Header="Camera3批处理点数">
  2171. <DataGridTemplateColumn.CellTemplate>
  2172. <DataTemplate>
  2173. <TextBlock
  2174. HorizontalAlignment="Center"
  2175. VerticalAlignment="Center"
  2176. Text="{Binding Camera_Data3, StringFormat={}{0:F0}}"
  2177. Visibility="{Binding DataContext.IsCameraData3Use, ElementName=dgPoints}" />
  2178. </DataTemplate>
  2179. </DataGridTemplateColumn.CellTemplate>
  2180. <DataGridTemplateColumn.CellEditingTemplate>
  2181. <DataTemplate>
  2182. <mah:NumericUpDown
  2183. Margin="0"
  2184. Padding="2"
  2185. HorizontalAlignment="Stretch"
  2186. VerticalAlignment="Center"
  2187. Interval="1"
  2188. Maximum="39587.000"
  2189. Minimum="0"
  2190. StringFormat="F3"
  2191. Visibility="{Binding DataContext.IsCameraData3Use, ElementName=dgPoints}"
  2192. Value="{Binding Camera_Data3, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  2193. </DataTemplate>
  2194. </DataGridTemplateColumn.CellEditingTemplate>
  2195. </DataGridTemplateColumn>
  2196. <!-- Camera4批处理点数 -->
  2197. <DataGridTemplateColumn
  2198. Width="Auto"
  2199. MinWidth="60"
  2200. Header="Camera4批处理点数">
  2201. <DataGridTemplateColumn.CellTemplate>
  2202. <DataTemplate>
  2203. <TextBlock
  2204. HorizontalAlignment="Center"
  2205. VerticalAlignment="Center"
  2206. Text="{Binding Camera_Data4, StringFormat={}{0:F0}}"
  2207. Visibility="{Binding DataContext.IsCameraData4Use, ElementName=dgPoints}" />
  2208. </DataTemplate>
  2209. </DataGridTemplateColumn.CellTemplate>
  2210. <DataGridTemplateColumn.CellEditingTemplate>
  2211. <DataTemplate>
  2212. <mah:NumericUpDown
  2213. Margin="0"
  2214. Padding="2"
  2215. HorizontalAlignment="Stretch"
  2216. VerticalAlignment="Center"
  2217. Interval="1"
  2218. Maximum="39587.000"
  2219. Minimum="0"
  2220. StringFormat="F3"
  2221. Visibility="{Binding DataContext.IsCameraData4Use, ElementName=dgPoints}"
  2222. Value="{Binding Camera_Data4, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  2223. </DataTemplate>
  2224. </DataGridTemplateColumn.CellEditingTemplate>
  2225. </DataGridTemplateColumn>
  2226. <!-- Camera1切换配方 -->
  2227. <DataGridTemplateColumn
  2228. Width="Auto"
  2229. MinWidth="60"
  2230. Header="Camera1切换配方">
  2231. <DataGridTemplateColumn.CellTemplate>
  2232. <DataTemplate>
  2233. <TextBlock
  2234. HorizontalAlignment="Center"
  2235. VerticalAlignment="Center"
  2236. Text="{Binding Camera_Product1, StringFormat={}{0:F0}}"
  2237. Visibility="{Binding DataContext.IsCameraProduct1Use, ElementName=dgPoints}" />
  2238. </DataTemplate>
  2239. </DataGridTemplateColumn.CellTemplate>
  2240. <DataGridTemplateColumn.CellEditingTemplate>
  2241. <DataTemplate>
  2242. <mah:NumericUpDown
  2243. Margin="0"
  2244. Padding="2"
  2245. HorizontalAlignment="Stretch"
  2246. VerticalAlignment="Center"
  2247. Interval="1"
  2248. Maximum="39587.000"
  2249. Minimum="0"
  2250. StringFormat="F3"
  2251. Visibility="{Binding DataContext.IsCameraProduct1Use, ElementName=dgPoints}"
  2252. Value="{Binding Camera_Product1, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  2253. </DataTemplate>
  2254. </DataGridTemplateColumn.CellEditingTemplate>
  2255. </DataGridTemplateColumn>
  2256. <!-- Camera2切换配方 -->
  2257. <DataGridTemplateColumn
  2258. Width="Auto"
  2259. MinWidth="60"
  2260. Header="Camera2切换配方">
  2261. <DataGridTemplateColumn.CellTemplate>
  2262. <DataTemplate>
  2263. <TextBlock
  2264. HorizontalAlignment="Center"
  2265. VerticalAlignment="Center"
  2266. Text="{Binding Camera_Product2, StringFormat={}{0:F0}}"
  2267. Visibility="{Binding DataContext.IsCameraProduct2Use, ElementName=dgPoints}" />
  2268. </DataTemplate>
  2269. </DataGridTemplateColumn.CellTemplate>
  2270. <DataGridTemplateColumn.CellEditingTemplate>
  2271. <DataTemplate>
  2272. <mah:NumericUpDown
  2273. Margin="0"
  2274. Padding="2"
  2275. HorizontalAlignment="Stretch"
  2276. VerticalAlignment="Center"
  2277. Interval="1"
  2278. Maximum="39587.000"
  2279. Minimum="0"
  2280. StringFormat="F3"
  2281. Visibility="{Binding DataContext.IsCameraProduct2Use, ElementName=dgPoints}"
  2282. Value="{Binding Camera_Product2, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  2283. </DataTemplate>
  2284. </DataGridTemplateColumn.CellEditingTemplate>
  2285. </DataGridTemplateColumn>
  2286. <!-- Camera3切换配方 -->
  2287. <DataGridTemplateColumn
  2288. Width="Auto"
  2289. MinWidth="60"
  2290. Header="Camera3切换配方">
  2291. <DataGridTemplateColumn.CellTemplate>
  2292. <DataTemplate>
  2293. <TextBlock
  2294. HorizontalAlignment="Center"
  2295. VerticalAlignment="Center"
  2296. Text="{Binding Camera_Product3, StringFormat={}{0:F0}}"
  2297. Visibility="{Binding DataContext.IsCameraProduct3Use, ElementName=dgPoints}" />
  2298. </DataTemplate>
  2299. </DataGridTemplateColumn.CellTemplate>
  2300. <DataGridTemplateColumn.CellEditingTemplate>
  2301. <DataTemplate>
  2302. <mah:NumericUpDown
  2303. Margin="0"
  2304. Padding="2"
  2305. HorizontalAlignment="Stretch"
  2306. VerticalAlignment="Center"
  2307. Interval="1"
  2308. Maximum="39587.000"
  2309. Minimum="0"
  2310. StringFormat="F3"
  2311. Visibility="{Binding DataContext.IsCameraProduct3Use, ElementName=dgPoints}"
  2312. Value="{Binding Camera_Product3, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  2313. </DataTemplate>
  2314. </DataGridTemplateColumn.CellEditingTemplate>
  2315. </DataGridTemplateColumn>
  2316. <!-- Camera4切换配方 -->
  2317. <DataGridTemplateColumn
  2318. Width="Auto"
  2319. MinWidth="60"
  2320. Header="Camera4切换配方">
  2321. <DataGridTemplateColumn.CellTemplate>
  2322. <DataTemplate>
  2323. <TextBlock
  2324. HorizontalAlignment="Center"
  2325. VerticalAlignment="Center"
  2326. Text="{Binding Camera_Product4, StringFormat={}{0:F0}}"
  2327. Visibility="{Binding DataContext.IsCameraProduct4Use, ElementName=dgPoints}" />
  2328. </DataTemplate>
  2329. </DataGridTemplateColumn.CellTemplate>
  2330. <DataGridTemplateColumn.CellEditingTemplate>
  2331. <DataTemplate>
  2332. <mah:NumericUpDown
  2333. Margin="0"
  2334. Padding="2"
  2335. HorizontalAlignment="Stretch"
  2336. VerticalAlignment="Center"
  2337. Interval="1"
  2338. Maximum="39587.000"
  2339. Minimum="0"
  2340. StringFormat="F3"
  2341. Visibility="{Binding DataContext.IsCameraProduct4Use, ElementName=dgPoints}"
  2342. Value="{Binding Camera_Product4, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  2343. </DataTemplate>
  2344. </DataGridTemplateColumn.CellEditingTemplate>
  2345. </DataGridTemplateColumn>
  2346. <DataGridTextColumn
  2347. Width="200"
  2348. MinWidth="100"
  2349. Binding="{Binding Description, Mode=TwoWay}"
  2350. Header="{lex:Loc 描述}" />
  2351. </DataGrid.Columns>
  2352. </DataGrid>
  2353. </DockPanel>
  2354. </DockPanel>
  2355. <GridSplitter
  2356. Grid.Row="0"
  2357. Grid.RowSpan="2"
  2358. Grid.Column="0"
  2359. Width="2"
  2360. HorizontalAlignment="Right"
  2361. VerticalAlignment="Stretch"
  2362. Background="DeepSkyBlue" />
  2363. <!-- 运动控制区 -->
  2364. <Viewbox Grid.Column="1">
  2365. <Grid Grid.Row="1">
  2366. <Grid.ColumnDefinitions>
  2367. <ColumnDefinition Width="auto" />
  2368. <ColumnDefinition Width="auto" />
  2369. </Grid.ColumnDefinitions>
  2370. <ToggleButton
  2371. Grid.ColumnSpan="2"
  2372. Margin="5,0"
  2373. HorizontalAlignment="Left"
  2374. VerticalAlignment="Top"
  2375. materialDesign:ToggleButtonAssist.OnContent="{materialDesign:PackIcon Kind=ArrowLeft}"
  2376. Content="{materialDesign:PackIcon Kind=Camera}"
  2377. IsChecked="{Binding IsLeftDrawerOpen, ElementName=DrawerHost}"
  2378. Style="{StaticResource MaterialDesignActionToggleButton}"
  2379. ToolTip="相机图像" />
  2380. <Grid Grid.Column="0" VerticalAlignment="Center">
  2381. <Grid.RowDefinitions>
  2382. <RowDefinition Height="auto" />
  2383. <RowDefinition Height="auto" />
  2384. <RowDefinition Height="auto" />
  2385. <RowDefinition Height="auto" />
  2386. <RowDefinition Height="auto" />
  2387. </Grid.RowDefinitions>
  2388. <Button
  2389. Grid.Row="0"
  2390. materialDesign:ButtonAssist.CornerRadius="10"
  2391. Command="{Binding DataContext.MotorCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2392. CommandParameter="True"
  2393. Content="{lex:Loc 上使能}"
  2394. Style="{StaticResource MaterialDesignRaisedDarkButton}" />
  2395. <Button
  2396. Grid.Row="1"
  2397. Margin="0,10,0,10"
  2398. materialDesign:ButtonAssist.CornerRadius="10"
  2399. Command="{Binding DataContext.MotorCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2400. CommandParameter="False"
  2401. Content="{lex:Loc 下使能}"
  2402. Style="{StaticResource MaterialDesignRaisedDarkButton}" />
  2403. <Button
  2404. Grid.Row="2"
  2405. materialDesign:ButtonAssist.CornerRadius="10"
  2406. Command="{Binding DataContext.ResetCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2407. Content="{lex:Loc 复位错误}"
  2408. Style="{StaticResource MaterialDesignRaisedDarkButton}" />
  2409. <Button
  2410. Grid.Row="3"
  2411. Margin="0,10,0,10"
  2412. materialDesign:ButtonAssist.CornerRadius="10"
  2413. Command="{Binding DataContext.sFreeCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2414. Content="{lex:Loc 释放刹车}"
  2415. Style="{StaticResource MaterialDesignRaisedDarkButton}" />
  2416. <Button
  2417. Grid.Row="4"
  2418. materialDesign:ButtonAssist.CornerRadius="10"
  2419. Command="{Binding DataContext.SLockCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2420. Content="{lex:Loc 锁定刹车}"
  2421. Style="{StaticResource MaterialDesignRaisedDarkButton}" />
  2422. </Grid>
  2423. <Grid Grid.Column="1">
  2424. <Grid.RowDefinitions>
  2425. <RowDefinition Height="auto" />
  2426. <RowDefinition Height="*" />
  2427. </Grid.RowDefinitions>
  2428. <TextBlock Margin="10,0" VerticalAlignment="Center">
  2429. <TextBlock.Text>
  2430. <MultiBinding StringFormat="{}CurPos X: {0:F3} mm Y: {1:F3} mm Z: {2:F3} mm U: {3:F3} mm">
  2431. <Binding Path="Robot.CurrentPosition.X" />
  2432. <Binding Path="Robot.CurrentPosition.Y" />
  2433. <Binding Path="Robot.CurrentPosition.Z" />
  2434. <Binding Path="Robot.CurrentPosition.U" />
  2435. </MultiBinding>
  2436. </TextBlock.Text>
  2437. </TextBlock>
  2438. <Grid Grid.Row="1">
  2439. <Grid.ColumnDefinitions>
  2440. <ColumnDefinition Width="auto" />
  2441. <ColumnDefinition Width="auto" />
  2442. <ColumnDefinition Width="auto" />
  2443. <ColumnDefinition Width="auto" />
  2444. <ColumnDefinition Width="auto" />
  2445. <ColumnDefinition Width="auto" />
  2446. </Grid.ColumnDefinitions>
  2447. <Grid.RowDefinitions>
  2448. <RowDefinition Height="auto" />
  2449. <RowDefinition Height="auto" />
  2450. <RowDefinition Height="auto" />
  2451. <RowDefinition Height="auto" />
  2452. <RowDefinition Height="auto" />
  2453. <RowDefinition Height="auto" />
  2454. </Grid.RowDefinitions>
  2455. <Grid.Resources>
  2456. <Style BasedOn="{StaticResource MaterialDesignRaisedDarkButton}" TargetType="Button">
  2457. <Setter Property="Width" Value="60" />
  2458. <Setter Property="Height" Value="60" />
  2459. <Setter Property="FontSize" Value="13" />
  2460. <Setter Property="Padding" Value="0" />
  2461. <Setter Property="HorizontalAlignment" Value="Center" />
  2462. <Setter Property="VerticalAlignment" Value="Center" />
  2463. <Setter Property="Margin" Value="2" />
  2464. <Setter Property="materialDesign:ButtonAssist.CornerRadius" Value="10" />
  2465. </Style>
  2466. </Grid.Resources>
  2467. <Button
  2468. x:Name="btn_x"
  2469. Grid.Row="1"
  2470. Grid.Column="0"
  2471. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2472. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=X-}">
  2473. <StackPanel Orientation="Vertical">
  2474. <materialDesign:PackIcon
  2475. Width="26"
  2476. Height="26"
  2477. Kind="ArrowLeftBold" />
  2478. <TextBlock HorizontalAlignment="Center" Text="-J1" />
  2479. </StackPanel>
  2480. </Button>
  2481. <Button
  2482. Grid.Row="1"
  2483. Grid.Column="2"
  2484. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2485. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=X+}">
  2486. <StackPanel Orientation="Vertical">
  2487. <materialDesign:PackIcon
  2488. Width="26"
  2489. Height="26"
  2490. Kind="ArrowRightBold" />
  2491. <TextBlock HorizontalAlignment="Center" Text="+J1" />
  2492. </StackPanel>
  2493. </Button>
  2494. <Button
  2495. Grid.Row="0"
  2496. Grid.Column="1"
  2497. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2498. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=Y+}">
  2499. <StackPanel Orientation="Vertical">
  2500. <materialDesign:PackIcon
  2501. Width="26"
  2502. Height="26"
  2503. Kind="ArrowTopBold" />
  2504. <TextBlock HorizontalAlignment="Center" Text="+J2" />
  2505. </StackPanel>
  2506. </Button>
  2507. <Button
  2508. Grid.Row="2"
  2509. Grid.Column="1"
  2510. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2511. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=Y-}">
  2512. <StackPanel Orientation="Vertical">
  2513. <materialDesign:PackIcon
  2514. Width="26"
  2515. Height="26"
  2516. Kind="ArrowBottomBold" />
  2517. <TextBlock HorizontalAlignment="Center" Text="-J2" />
  2518. </StackPanel>
  2519. </Button>
  2520. <Button
  2521. Grid.Row="0"
  2522. Grid.Column="3"
  2523. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2524. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=Z+}">
  2525. <StackPanel Orientation="Vertical">
  2526. <materialDesign:PackIcon
  2527. Width="26"
  2528. Height="26"
  2529. Kind="ArrowTopBold" />
  2530. <TextBlock HorizontalAlignment="Center" Text="+J3" />
  2531. </StackPanel>
  2532. </Button>
  2533. <Button
  2534. Grid.Row="2"
  2535. Grid.Column="3"
  2536. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2537. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=Z-}">
  2538. <StackPanel Orientation="Vertical">
  2539. <materialDesign:PackIcon
  2540. Width="26"
  2541. Height="26"
  2542. Kind="ArrowBottomBold" />
  2543. <TextBlock HorizontalAlignment="Center" Text="-J3" />
  2544. </StackPanel>
  2545. </Button>
  2546. <Button
  2547. Grid.Row="3"
  2548. Grid.Column="0"
  2549. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2550. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=U+}">
  2551. <StackPanel Orientation="Vertical">
  2552. <materialDesign:PackIcon
  2553. Width="26"
  2554. Height="26"
  2555. Kind="AxisZRotateCounterclockwise" />
  2556. <TextBlock HorizontalAlignment="Center" Text="+J4" />
  2557. </StackPanel>
  2558. </Button>
  2559. <Button
  2560. Grid.Row="4"
  2561. Grid.Column="0"
  2562. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2563. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=U-}">
  2564. <StackPanel Orientation="Vertical">
  2565. <materialDesign:PackIcon
  2566. Width="26"
  2567. Height="26"
  2568. Kind="AxisZRotateClockwise" />
  2569. <TextBlock HorizontalAlignment="Center" Text="-J4" />
  2570. </StackPanel>
  2571. </Button>
  2572. <Button
  2573. Grid.Row="3"
  2574. Grid.Column="1"
  2575. Grid.ColumnSpan="2"
  2576. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2577. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=V+}">
  2578. <StackPanel Orientation="Vertical">
  2579. <materialDesign:PackIcon
  2580. Width="26"
  2581. Height="26"
  2582. Kind="AxisZRotateCounterclockwise" />
  2583. <TextBlock HorizontalAlignment="Center" Text="+J5" />
  2584. </StackPanel>
  2585. </Button>
  2586. <Button
  2587. Grid.Row="4"
  2588. Grid.Column="1"
  2589. Grid.ColumnSpan="2"
  2590. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2591. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=V-}">
  2592. <StackPanel Orientation="Vertical">
  2593. <materialDesign:PackIcon
  2594. Width="26"
  2595. Height="26"
  2596. Kind="AxisZRotateClockwise" />
  2597. <TextBlock HorizontalAlignment="Center" Text="-J5" />
  2598. </StackPanel>
  2599. </Button>
  2600. <Button
  2601. Grid.Row="4"
  2602. Grid.Column="3"
  2603. Grid.ColumnSpan="2"
  2604. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2605. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=W-}">
  2606. <StackPanel Orientation="Vertical">
  2607. <materialDesign:PackIcon
  2608. Width="26"
  2609. Height="26"
  2610. Kind="AxisZRotateClockwise" />
  2611. <TextBlock HorizontalAlignment="Center" Text="-J6" />
  2612. </StackPanel>
  2613. </Button>
  2614. <Button
  2615. Grid.Row="3"
  2616. Grid.Column="3"
  2617. Grid.ColumnSpan="2"
  2618. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2619. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=W+}">
  2620. <StackPanel Orientation="Vertical">
  2621. <materialDesign:PackIcon
  2622. Width="26"
  2623. Height="26"
  2624. Kind="AxisZRotateClockwise" />
  2625. <TextBlock HorizontalAlignment="Center" Text="+J6" />
  2626. </StackPanel>
  2627. </Button>
  2628. <Grid
  2629. Grid.Row="5"
  2630. Grid.ColumnSpan="7"
  2631. Margin="10">
  2632. <Grid.RowDefinitions>
  2633. <RowDefinition Height="auto" />
  2634. <RowDefinition Height="auto" />
  2635. <RowDefinition Height="auto" />
  2636. <RowDefinition Height="auto" />
  2637. </Grid.RowDefinitions>
  2638. <Grid.ColumnDefinitions>
  2639. <ColumnDefinition Width="auto" />
  2640. <ColumnDefinition Width="auto" />
  2641. <ColumnDefinition Width="auto" />
  2642. </Grid.ColumnDefinitions>
  2643. <TextBlock
  2644. Grid.Row="0"
  2645. Grid.Column="0"
  2646. Margin="10"
  2647. HorizontalAlignment="Right"
  2648. VerticalAlignment="Center"
  2649. Text="{lex:Loc 步进距离,
  2650. Converter={StaticResource StringFormatConverter},
  2651. ConverterParameter='{}{0}: '}" />
  2652. <uControl:myNumericUpDowm
  2653. x:Name="txtDistance"
  2654. Grid.Row="0"
  2655. Grid.Column="1"
  2656. MinWidth="100"
  2657. Margin="10"
  2658. materialDesign:HintAssist.Hint="{lex:Loc 步进距离}"
  2659. Interval="0.1"
  2660. Maximum="100"
  2661. Minimum="0"
  2662. StringFormat="{}{0:N3} mm"
  2663. Value="{Binding DataContext.Distance, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}, Mode=TwoWay}" />
  2664. <TextBlock
  2665. Grid.Row="1"
  2666. Grid.Column="0"
  2667. Margin="10"
  2668. VerticalAlignment="Center"
  2669. Text="{lex:Loc 点编号,
  2670. Converter={StaticResource StringFormatConverter},
  2671. ConverterParameter='{}{0}: '}" />
  2672. <ComboBox
  2673. x:Name="cmbSelectPoint"
  2674. Grid.Row="2"
  2675. Grid.Column="0"
  2676. MinWidth="80"
  2677. Margin="10,5"
  2678. materialDesign:HintAssist.Hint="{lex:Loc 选择点}"
  2679. ItemsSource="{Binding Points}"
  2680. SelectedItem="{Binding SelectedPointInComboBox, Mode=TwoWay}">
  2681. <ComboBox.ItemTemplate>
  2682. <DataTemplate>
  2683. <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
  2684. <TextBlock Text="{Binding Number, StringFormat={}{0}:}" />
  2685. <TextBlock Text="{Binding Label}" />
  2686. </StackPanel>
  2687. </DataTemplate>
  2688. </ComboBox.ItemTemplate>
  2689. </ComboBox>
  2690. <TextBlock
  2691. Grid.Row="1"
  2692. Grid.Column="1"
  2693. Margin="10"
  2694. VerticalAlignment="Center"
  2695. Text="{lex:Loc 动作指令,
  2696. Converter={StaticResource StringFormatConverter},
  2697. ConverterParameter='{}{0}: '}" />
  2698. <ComboBox
  2699. x:Name="cmbSelectMotioncmd"
  2700. Grid.Row="2"
  2701. Grid.Column="1"
  2702. MinWidth="80"
  2703. Margin="10,5"
  2704. materialDesign:HintAssist.Hint="{lex:Loc 动作指令}"
  2705. ItemsSource="{ext:EnumBindingSource EnumType=enums:MotionCommand}"
  2706. SelectedItem="{Binding DataContext.SelectMotionCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
  2707. <Button
  2708. Grid.Row="2"
  2709. Grid.Column="2"
  2710. Margin="2"
  2711. Command="{Binding DataContext.ExecuteMotion, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2712. Content="{lex:Loc 执行起始点}">
  2713. <Button.CommandParameter>
  2714. <MultiBinding Converter="{StaticResource MultiParameterConverter}">
  2715. <Binding ElementName="cmbSelectPoint" Path="SelectedItem" />
  2716. <Binding ElementName="cmbSelectMotioncmd" Path="SelectedItem" />
  2717. </MultiBinding>
  2718. </Button.CommandParameter>
  2719. </Button>
  2720. <Button
  2721. Grid.Row="1"
  2722. Grid.Column="2"
  2723. Margin="2"
  2724. Command="{Binding DataContext.ExecuteMotionStop, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2725. Content="{lex:Loc 执行终点}">
  2726. <Button.CommandParameter>
  2727. <MultiBinding Converter="{StaticResource MultiParameterConverter}">
  2728. <Binding ElementName="cmbSelectPoint" Path="SelectedItem" />
  2729. <Binding ElementName="cmbSelectMotioncmd" Path="SelectedItem" />
  2730. </MultiBinding>
  2731. </Button.CommandParameter>
  2732. </Button>
  2733. <Button
  2734. Grid.Row="3"
  2735. Grid.Column="0"
  2736. Margin="2"
  2737. HorizontalAlignment="Right"
  2738. Command="{Binding DataContext.TechPointCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2739. Content="{lex:Loc 示教起点}" />
  2740. <Button
  2741. Grid.Row="3"
  2742. Grid.Column="1"
  2743. Margin="2"
  2744. HorizontalAlignment="Right"
  2745. Command="{Binding DataContext.TechPointFinishCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  2746. Content="{lex:Loc 示教终点}" />
  2747. <!--<ToggleButton Grid.Row="3"
  2748. Grid.Column="2"
  2749. HorizontalAlignment="Right"
  2750. VerticalAlignment="Center"
  2751. Visibility="{Binding IsHaveRobot,Converter={StaticResource BooleanToVisibilityConverter}}"
  2752. materialDesign:ToggleButtonAssist.OnContent="{materialDesign:PackIcon Kind=ArrowRight}"
  2753. Content="{materialDesign:PackIcon Kind=ProgressWrench}"
  2754. Style="{StaticResource MaterialDesignActionToggleButton}"
  2755. ToolTip="{lex:Loc 手动验证流程}"
  2756. Margin="5,0"
  2757. IsChecked="{Binding IsRightDrawerOpen,ElementName=DrawerHost}" />-->
  2758. </Grid>
  2759. </Grid>
  2760. </Grid>
  2761. </Grid>
  2762. </Viewbox>
  2763. </Grid>
  2764. </Grid>
  2765. </materialDesign:DrawerHost>
  2766. <StackPanel
  2767. Grid.Row="2"
  2768. Margin="20"
  2769. HorizontalAlignment="Center"
  2770. VerticalAlignment="Center"
  2771. Orientation="Horizontal">
  2772. <Button
  2773. MinWidth="100"
  2774. HorizontalAlignment="Center"
  2775. VerticalAlignment="Center"
  2776. materialDesign:ButtonAssist.CornerRadius="10"
  2777. Command="{Binding NextCommand}"
  2778. Content="{lex:Loc 下一步}"
  2779. IsEnabled="{Binding IsAllowEdit}"
  2780. Style="{StaticResource MaterialDesignRaisedButton}" />
  2781. </StackPanel>
  2782. </Grid>
  2783. </UserControl>