PlcPointParams.xaml 138 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039
  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="false"
  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>
  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="{lex:Loc 取料拍照点位}" />
  232. </ListBoxItem>
  233. <ListBoxItem>
  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="{lex:Loc 取料点位}" />
  241. </ListBoxItem>
  242. <ListBoxItem>
  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="{lex:Loc 下相机二次定位点位}" />
  250. </ListBoxItem>
  251. <ListBoxItem>
  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="{lex:Loc 锁附拍照点位}" />
  259. </ListBoxItem>
  260. <ListBoxItem>
  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="{lex:Loc 锁附点位}" />
  268. </ListBoxItem>
  269. <ListBoxItem>
  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="{lex:Loc 复检点位}" />
  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="{lex:Loc 二维码拍照点位}" />
  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="{lex:Loc 添加点}" />
  296. <Button
  297. MinWidth="80"
  298. Margin="5,2"
  299. materialDesign:ButtonAssist.CornerRadius="5"
  300. Command="{Binding DeletePointCommand}"
  301. Content="{lex:Loc 删除点}" />
  302. <Button
  303. MinWidth="80"
  304. Margin="5,2"
  305. materialDesign:ButtonAssist.CornerRadius="5"
  306. Command="{Binding MovePointUpCommand}"
  307. Content="{lex:Loc 上移}" />
  308. <Button
  309. MinWidth="80"
  310. Margin="5,2"
  311. materialDesign:ButtonAssist.CornerRadius="5"
  312. Command="{Binding MovePointDownCommand}"
  313. Content="{lex:Loc 下移}" />
  314. <!-- 导入/导出点位文件 -->
  315. <Button
  316. MinWidth="120"
  317. Margin="5,2"
  318. materialDesign:ButtonAssist.CornerRadius="5"
  319. Command="{Binding ImportPointsCommand}"
  320. Content="导入点位文件" />
  321. <Button
  322. MinWidth="120"
  323. Margin="5,2"
  324. materialDesign:ButtonAssist.CornerRadius="5"
  325. Command="{Binding ExportAllPointsCommand}"
  326. Content="导出所有点位" />
  327. <Button
  328. MinWidth="80"
  329. Margin="5,2"
  330. d:Visibility="Visible"
  331. materialDesign:ButtonAssist.CornerRadius="5"
  332. Command="{Binding ImportCadPointCommand}"
  333. Content="{lex:Loc CAD导入点位}">
  334. <Button.Style>
  335. <Style BasedOn="{StaticResource MaterialDesignRaisedDarkButton}" TargetType="Button">
  336. <Setter Property="Visibility" Value="Collapsed" />
  337. <Style.Triggers>
  338. <!-- 当 SelectedIndex == 0 时显示此面板 -->
  339. <DataTrigger Binding="{Binding SelectedIndex}" Value="4">
  340. <Setter Property="Visibility" Value="Visible" />
  341. </DataTrigger>
  342. </Style.Triggers>
  343. </Style>
  344. </Button.Style>
  345. </Button>
  346. <!-- 设置补偿值 -->
  347. <Button
  348. MinWidth="80"
  349. Margin="5,2"
  350. d:Visibility="Visible"
  351. materialDesign:ButtonAssist.CornerRadius="5"
  352. Command="{Binding SetOffsetCommand}"
  353. Content="设置补偿值">
  354. <!--<Button.Style>
  355. <Style TargetType="Button"
  356. BasedOn="{StaticResource MaterialDesignRaisedDarkButton}">
  357. <Setter Property="Visibility"
  358. Value="Collapsed" />
  359. <Style.Triggers>
  360. -->
  361. <!-- 当 SelectedIndex == 0 时显示此面板 -->
  362. <!--
  363. <DataTrigger Binding="{Binding SelectedIndex}"
  364. Value="1">
  365. <Setter Property="Visibility"
  366. Value="Visible" />
  367. </DataTrigger>
  368. </Style.Triggers>
  369. </Style>
  370. </Button.Style>-->
  371. </Button>
  372. </StackPanel>
  373. <Border
  374. Height="1"
  375. BorderBrush="LightGray"
  376. BorderThickness="1"
  377. DockPanel.Dock="Bottom" />
  378. <DockPanel>
  379. <!-- 不同点位类型的操作面板 -->
  380. <StackPanel DockPanel.Dock="Bottom" Orientation="Vertical">
  381. <!-- 取料拍照点位面板 -->
  382. <StackPanel
  383. x:Name="AutoCorrectPickPointPanel"
  384. d:Visibility="Visible"
  385. Orientation="Vertical">
  386. <StackPanel.Style>
  387. <Style TargetType="StackPanel">
  388. <Setter Property="Visibility" Value="Collapsed" />
  389. <Style.Triggers>
  390. <!-- 当 SelectedIndex == 0 时显示此面板 -->
  391. <DataTrigger Binding="{Binding SelectedIndex}" Value="0">
  392. <Setter Property="Visibility" Value="Visible" />
  393. </DataTrigger>
  394. </Style.Triggers>
  395. </Style>
  396. </StackPanel.Style>
  397. <StackPanel Orientation="Horizontal">
  398. <ToggleButton
  399. x:Name="btn_AutoCorrectPickPoint"
  400. d:IsChecked="True"
  401. Style="{StaticResource MaterialDesignSwitchToggleButton}">
  402. <materialDesign:PackIcon Kind="Pin" RenderTransformOrigin=".5,.5">
  403. <materialDesign:PackIcon.RenderTransform>
  404. <RotateTransform Angle="45" />
  405. </materialDesign:PackIcon.RenderTransform>
  406. </materialDesign:PackIcon>
  407. <materialDesign:ToggleButtonAssist.OnContent>
  408. <materialDesign:PackIcon Kind="Pin" />
  409. </materialDesign:ToggleButtonAssist.OnContent>
  410. </ToggleButton>
  411. <TextBlock
  412. Margin="0,10,0,5"
  413. FontWeight="Bold"
  414. Text="{lex:Loc 通过相机自动矫正取料点位}" />
  415. </StackPanel>
  416. <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
  417. <StackPanel
  418. HorizontalAlignment="Left"
  419. Orientation="Horizontal"
  420. Visibility="{Binding ElementName=btn_AutoCorrectPickPoint, Path=IsChecked, Converter={StaticResource BooleanToVisibilityConverter}}">
  421. <TextBlock VerticalAlignment="Center" Text="{lex:Loc 选择拍照点}" />
  422. <ComboBox
  423. MinWidth="50"
  424. Margin="5,0,0,0"
  425. ItemsSource="{Binding Points}"
  426. SelectedItem="{Binding SelectedCameraForPickPoint}">
  427. <ComboBox.ItemTemplate>
  428. <DataTemplate>
  429. <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
  430. <TextBlock Text="{Binding Number, StringFormat={}{0}:}" />
  431. <TextBlock Text="{Binding Label}" />
  432. </StackPanel>
  433. </DataTemplate>
  434. </ComboBox.ItemTemplate>
  435. </ComboBox>
  436. <TextBlock
  437. Margin="5,0,0,0"
  438. VerticalAlignment="Center"
  439. Text="{lex:Loc 选择移动视觉流程}" />
  440. <ComboBox
  441. MinWidth="50"
  442. Margin="5,0,0,0"
  443. ItemsSource="{Binding ProcedureModels}"
  444. SelectedItem="{Binding SelectProcedure}">
  445. <ComboBox.ItemTemplate>
  446. <DataTemplate>
  447. <StackPanel Orientation="Horizontal">
  448. <materialDesign:PackIcon Kind="VideoOutline" />
  449. <TextBlock Margin="6,0" Text="{Binding CameraName}" />
  450. <materialDesign:PackIcon Kind="ProgressWrench" />
  451. <TextBlock Margin="6,0" Text="{Binding Name}" />
  452. </StackPanel>
  453. </DataTemplate>
  454. </ComboBox.ItemTemplate>
  455. </ComboBox>
  456. <TextBlock
  457. Margin="5,0,0,0"
  458. VerticalAlignment="Center"
  459. Text="{lex:Loc 选择要校准的取料位}" />
  460. <ComboBox
  461. MinWidth="50"
  462. Margin="5,0,0,0"
  463. ItemsSource="{Binding PickPoints}"
  464. SelectedItem="{Binding SelectedPickPoint}">
  465. <ComboBox.ItemTemplate>
  466. <DataTemplate>
  467. <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
  468. <TextBlock Text="{Binding Number, StringFormat={}{0}:}" />
  469. <TextBlock Text="{Binding Label}" />
  470. </StackPanel>
  471. </DataTemplate>
  472. </ComboBox.ItemTemplate>
  473. </ComboBox>
  474. <Button
  475. Margin="10,0,0,0"
  476. materialDesign:ButtonAssist.CornerRadius="5"
  477. Command="{Binding AutoCorrectPickPointCommand}"
  478. Content="{lex:Loc 执行校准}" />
  479. </StackPanel>
  480. </ScrollViewer>
  481. </StackPanel>
  482. <!-- 锁付拍照面板 -->
  483. <StackPanel
  484. x:Name="LockCameraPanel"
  485. d:Visibility="Visible"
  486. Orientation="Vertical">
  487. <StackPanel.Style>
  488. <Style TargetType="StackPanel">
  489. <Setter Property="Visibility" Value="Collapsed" />
  490. <Style.Triggers>
  491. <!-- 当 SelectedIndex == 4 时显示此面板 -->
  492. <DataTrigger Binding="{Binding SelectedIndex}" Value="3">
  493. <Setter Property="Visibility" Value="Visible" />
  494. </DataTrigger>
  495. </Style.Triggers>
  496. </Style>
  497. </StackPanel.Style>
  498. <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
  499. <StackPanel Orientation="Vertical">
  500. <TextBlock Text="{lex:Loc 拍1锁多时相机拍照位置对应的产品坐标系中位置}" />
  501. <Grid HorizontalAlignment="Left">
  502. <Grid.ColumnDefinitions>
  503. <ColumnDefinition Width="Auto" />
  504. <ColumnDefinition Width="Auto" />
  505. <ColumnDefinition Width="Auto" />
  506. <ColumnDefinition Width="Auto" />
  507. <ColumnDefinition Width="Auto" />
  508. <ColumnDefinition Width="Auto" />
  509. <ColumnDefinition Width="Auto" />
  510. <ColumnDefinition Width="Auto" />
  511. <ColumnDefinition Width="Auto" />
  512. </Grid.ColumnDefinitions>
  513. <Grid.RowDefinitions>
  514. <RowDefinition Height="Auto" />
  515. <RowDefinition Height="Auto" />
  516. <RowDefinition Height="Auto" />
  517. </Grid.RowDefinitions>
  518. <!-- 拍照1 -->
  519. <TextBlock
  520. Grid.Row="0"
  521. Grid.Column="0"
  522. VerticalAlignment="Center"
  523. Text="{lex:Loc 拍照1}" />
  524. <TextBlock
  525. Grid.Row="0"
  526. Grid.Column="1"
  527. Margin="5,0,0,0"
  528. VerticalAlignment="Center"
  529. Text="X:" />
  530. <mah:NumericUpDown
  531. Grid.Row="0"
  532. Grid.Column="2"
  533. MinWidth="60"
  534. Margin="0"
  535. Padding="2"
  536. HorizontalAlignment="Stretch"
  537. VerticalAlignment="Center"
  538. Interval="0.1"
  539. Maximum="9999.000"
  540. Minimum="-9999.000"
  541. StringFormat="F3"
  542. Value="{Binding SelectProduct.ScrewCameraLocalPos1.X_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  543. <TextBlock
  544. Grid.Row="0"
  545. Grid.Column="3"
  546. Margin="5,0,0,0"
  547. VerticalAlignment="Center"
  548. Text="Y:" />
  549. <mah:NumericUpDown
  550. Grid.Row="0"
  551. Grid.Column="4"
  552. MinWidth="60"
  553. Margin="0"
  554. Padding="2"
  555. HorizontalAlignment="Stretch"
  556. VerticalAlignment="Center"
  557. Interval="0.1"
  558. Maximum="9999.000"
  559. Minimum="-9999.000"
  560. StringFormat="F3"
  561. Value="{Binding SelectProduct.ScrewCameraLocalPos1.Y_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  562. <TextBlock
  563. Grid.Row="0"
  564. Grid.Column="5"
  565. Margin="5,0,0,0"
  566. VerticalAlignment="Center"
  567. Text="Z:" />
  568. <mah:NumericUpDown
  569. Grid.Row="0"
  570. Grid.Column="6"
  571. MinWidth="60"
  572. Margin="0"
  573. Padding="2"
  574. HorizontalAlignment="Stretch"
  575. VerticalAlignment="Center"
  576. Interval="0.1"
  577. Maximum="9999.000"
  578. Minimum="-9999.000"
  579. StringFormat="F3"
  580. Value="{Binding SelectProduct.ScrewCameraLocalPos1.Z_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  581. <!-- 拍照2 -->
  582. <TextBlock
  583. Grid.Row="1"
  584. Grid.Column="0"
  585. VerticalAlignment="Center"
  586. Text="{lex:Loc 拍照2}" />
  587. <TextBlock
  588. Grid.Row="1"
  589. Grid.Column="1"
  590. Margin="5,0,0,0"
  591. VerticalAlignment="Center"
  592. Text="X:" />
  593. <mah:NumericUpDown
  594. Grid.Row="1"
  595. Grid.Column="2"
  596. MinWidth="60"
  597. Margin="0"
  598. Padding="2"
  599. HorizontalAlignment="Stretch"
  600. VerticalAlignment="Center"
  601. Interval="0.1"
  602. Maximum="9999.000"
  603. Minimum="-9999.000"
  604. StringFormat="F3"
  605. Value="{Binding SelectProduct.ScrewCameraLocalPos2.X_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  606. <TextBlock
  607. Grid.Row="1"
  608. Grid.Column="3"
  609. Margin="5,0,0,0"
  610. VerticalAlignment="Center"
  611. Text="Y:" />
  612. <mah:NumericUpDown
  613. Grid.Row="1"
  614. Grid.Column="4"
  615. MinWidth="60"
  616. Margin="0"
  617. Padding="2"
  618. HorizontalAlignment="Stretch"
  619. VerticalAlignment="Center"
  620. Interval="0.1"
  621. Maximum="9999.000"
  622. Minimum="-9999.000"
  623. StringFormat="F3"
  624. Value="{Binding SelectProduct.ScrewCameraLocalPos2.Y_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  625. <TextBlock
  626. Grid.Row="1"
  627. Grid.Column="5"
  628. Margin="5,0,0,0"
  629. VerticalAlignment="Center"
  630. Text="Z:" />
  631. <mah:NumericUpDown
  632. Grid.Row="1"
  633. Grid.Column="6"
  634. MinWidth="60"
  635. Margin="0"
  636. Padding="2"
  637. HorizontalAlignment="Stretch"
  638. VerticalAlignment="Center"
  639. Interval="0.1"
  640. Maximum="9999.000"
  641. Minimum="-9999.000"
  642. StringFormat="F3"
  643. Value="{Binding SelectProduct.ScrewCameraLocalPos2.Z_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  644. <!-- 通过CAD导入点位按钮 -->
  645. <Button
  646. Grid.Row="0"
  647. Grid.RowSpan="2"
  648. Grid.Column="7"
  649. MinWidth="100"
  650. Margin="10,0"
  651. HorizontalAlignment="Left"
  652. materialDesign:ButtonAssist.CornerRadius="5"
  653. Command="{Binding ImportCadLockCameraPointCommand}"
  654. Content="{lex:Loc 通过CAD导入点位}" />
  655. <!-- 通过相机自动矫正锁附点位 -->
  656. <Button
  657. Grid.Row="0"
  658. Grid.RowSpan="2"
  659. Grid.Column="8"
  660. MinWidth="150"
  661. Margin="10,0"
  662. HorizontalAlignment="Left"
  663. materialDesign:ButtonAssist.CornerRadius="5"
  664. Command="{Binding AutoCorrectLockPointCommand}"
  665. Content="{lex:Loc 通过相机自动矫正锁附点位}" />
  666. <StackPanel
  667. Grid.Row="2"
  668. Grid.ColumnSpan="9"
  669. HorizontalAlignment="Left"
  670. Orientation="Horizontal">
  671. <TextBlock VerticalAlignment="Center" Text="{lex:Loc 批量设置所有锁付点的各轴速度}" />
  672. <TextBlock
  673. Margin="5,0,0,0"
  674. VerticalAlignment="Center"
  675. Text="{lex:Loc X轴速度}" />
  676. <mah:NumericUpDown
  677. MinWidth="60"
  678. Margin="0"
  679. Padding="2"
  680. HorizontalAlignment="Stretch"
  681. VerticalAlignment="Center"
  682. Interval="1"
  683. Maximum="20000"
  684. Minimum="0"
  685. StringFormat="F1"
  686. Value="{Binding LockXSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  687. <TextBlock
  688. Margin="0"
  689. VerticalAlignment="Center"
  690. Text="mm/s" />
  691. <TextBlock
  692. Margin="5,0,0,0"
  693. VerticalAlignment="Center"
  694. Text="{lex:Loc Y轴速度}" />
  695. <mah:NumericUpDown
  696. MinWidth="60"
  697. Margin="0"
  698. Padding="2"
  699. HorizontalAlignment="Stretch"
  700. VerticalAlignment="Center"
  701. Interval="1"
  702. Maximum="20000"
  703. Minimum="0"
  704. StringFormat="F1"
  705. Value="{Binding LockYSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  706. <TextBlock
  707. Margin="0"
  708. VerticalAlignment="Center"
  709. Text="mm/s" />
  710. <TextBlock
  711. Margin="5,0,0,0"
  712. VerticalAlignment="Center"
  713. Text="{lex:Loc Z轴速度}" />
  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 LockZSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  725. <TextBlock
  726. Margin="0"
  727. VerticalAlignment="Center"
  728. Text="mm/s" />
  729. <!-- 应用按钮 -->
  730. <Button
  731. MinWidth="60"
  732. Margin="10,0,0,0"
  733. HorizontalAlignment="Left"
  734. materialDesign:ButtonAssist.CornerRadius="5"
  735. Command="{Binding ApplyLockPointSpeedCommand}"
  736. Content="{lex:Loc 应用}" />
  737. </StackPanel>
  738. </Grid>
  739. </StackPanel>
  740. </ScrollViewer>
  741. </StackPanel>
  742. <!-- 锁付点位面板 -->
  743. <StackPanel
  744. x:Name="LockPointPanel"
  745. d:Visibility="Visible"
  746. Orientation="Vertical">
  747. <StackPanel.Style>
  748. <Style TargetType="StackPanel">
  749. <Setter Property="Visibility" Value="Collapsed" />
  750. <Style.Triggers>
  751. <!-- 当 SelectedIndex == 4 时显示此面板 -->
  752. <DataTrigger Binding="{Binding SelectedIndex}" Value="4">
  753. <Setter Property="Visibility" Value="Visible" />
  754. </DataTrigger>
  755. </Style.Triggers>
  756. </Style>
  757. </StackPanel.Style>
  758. <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
  759. <StackPanel Orientation="Vertical">
  760. <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
  761. <TextBlock VerticalAlignment="Center" Text="{lex:Loc 批量设置所有锁付点的起始Z轴高度}" />
  762. <TextBlock
  763. Margin="5,0,0,0"
  764. VerticalAlignment="Center"
  765. Text="{lex:Loc 起始Z轴高度}" />
  766. <mah:NumericUpDown
  767. MinWidth="60"
  768. Margin="0"
  769. Padding="2"
  770. HorizontalAlignment="Stretch"
  771. VerticalAlignment="Center"
  772. Interval="0.1"
  773. Maximum="9999.000"
  774. Minimum="-9999.000"
  775. StringFormat="F3"
  776. Value="{Binding LockPointStartZ, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  777. <TextBlock
  778. Margin="0"
  779. VerticalAlignment="Center"
  780. Text="mm" />
  781. <!-- 应用按钮 -->
  782. <Button
  783. MinWidth="60"
  784. Margin="10,0,0,0"
  785. HorizontalAlignment="Left"
  786. materialDesign:ButtonAssist.CornerRadius="5"
  787. Command="{Binding ApplyLockPointStartZCommand}"
  788. Content="{lex:Loc 应用}" />
  789. </StackPanel>
  790. <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
  791. <TextBlock VerticalAlignment="Center" Text="{lex:Loc 批量设置所有锁付点的锁付深度}" />
  792. <TextBlock
  793. Margin="5,0,0,0"
  794. VerticalAlignment="Center"
  795. Text="{lex:Loc 锁付深度}" />
  796. <mah:NumericUpDown
  797. MinWidth="60"
  798. Margin="0"
  799. Padding="2"
  800. HorizontalAlignment="Stretch"
  801. VerticalAlignment="Center"
  802. Interval="0.1"
  803. Maximum="10.000"
  804. Minimum="0.000"
  805. StringFormat="F3"
  806. Value="{Binding LockZDepth, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  807. <TextBlock
  808. Margin="0"
  809. VerticalAlignment="Center"
  810. Text="mm" />
  811. <!-- 应用按钮 -->
  812. <Button
  813. MinWidth="60"
  814. Margin="10,0,0,0"
  815. HorizontalAlignment="Left"
  816. materialDesign:ButtonAssist.CornerRadius="5"
  817. Command="{Binding ApplyLockPointDepthCommand}"
  818. Content="{lex:Loc 应用}" />
  819. </StackPanel>
  820. <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
  821. <TextBlock VerticalAlignment="Center" Text="{lex:Loc 批量设置所有锁付点的各轴速度}" />
  822. <TextBlock
  823. Margin="5,0,0,0"
  824. VerticalAlignment="Center"
  825. Text="{lex:Loc X轴速度}" />
  826. <mah:NumericUpDown
  827. MinWidth="60"
  828. Margin="0"
  829. Padding="2"
  830. HorizontalAlignment="Stretch"
  831. VerticalAlignment="Center"
  832. Interval="1"
  833. Maximum="20000"
  834. Minimum="0"
  835. StringFormat="F1"
  836. Value="{Binding LockXSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  837. <TextBlock
  838. Margin="0"
  839. VerticalAlignment="Center"
  840. Text="mm/s" />
  841. <TextBlock
  842. Margin="5,0,0,0"
  843. VerticalAlignment="Center"
  844. Text="{lex:Loc Y轴速度}" />
  845. <mah:NumericUpDown
  846. MinWidth="60"
  847. Margin="0"
  848. Padding="2"
  849. HorizontalAlignment="Stretch"
  850. VerticalAlignment="Center"
  851. Interval="1"
  852. Maximum="20000"
  853. Minimum="0"
  854. StringFormat="F1"
  855. Value="{Binding LockYSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  856. <TextBlock
  857. Margin="0"
  858. VerticalAlignment="Center"
  859. Text="mm/s" />
  860. <TextBlock
  861. Margin="5,0,0,0"
  862. VerticalAlignment="Center"
  863. Text="{lex:Loc Z轴速度}" />
  864. <mah:NumericUpDown
  865. MinWidth="60"
  866. Margin="0"
  867. Padding="2"
  868. HorizontalAlignment="Stretch"
  869. VerticalAlignment="Center"
  870. Interval="1"
  871. Maximum="20000"
  872. Minimum="0"
  873. StringFormat="F1"
  874. Value="{Binding LockZSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  875. <TextBlock
  876. Margin="0"
  877. VerticalAlignment="Center"
  878. Text="mm/s" />
  879. <TextBlock
  880. Margin="5,0,0,0"
  881. VerticalAlignment="Center"
  882. Text="{lex:Loc Z轴锁付下降速度}" />
  883. <mah:NumericUpDown
  884. MinWidth="60"
  885. Margin="0"
  886. Padding="2"
  887. HorizontalAlignment="Stretch"
  888. VerticalAlignment="Center"
  889. Interval="1"
  890. Maximum="20000"
  891. Minimum="0"
  892. StringFormat="F1"
  893. Value="{Binding LockZDescendSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  894. <TextBlock
  895. Margin="0"
  896. VerticalAlignment="Center"
  897. Text="mm/s" />
  898. <!-- 应用按钮 -->
  899. <Button
  900. MinWidth="60"
  901. Margin="10,0,0,0"
  902. HorizontalAlignment="Left"
  903. materialDesign:ButtonAssist.CornerRadius="5"
  904. Command="{Binding ApplyLockPointSpeedCommand}"
  905. Content="{lex:Loc 应用}" />
  906. </StackPanel>
  907. <!-- 批量设置所有锁付点的供料器编号和电批程序编号 -->
  908. <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
  909. <TextBlock VerticalAlignment="Center" Text="{lex:Loc 批量设置所有锁付点的供料器编号和电批程序编号}" />
  910. <TextBlock
  911. Margin="5,0,0,0"
  912. VerticalAlignment="Center"
  913. Text="{lex:Loc 供料器编号}" />
  914. <mah:NumericUpDown
  915. MinWidth="60"
  916. Margin="0"
  917. Padding="2"
  918. HorizontalAlignment="Stretch"
  919. VerticalAlignment="Center"
  920. Interval="1"
  921. Maximum="9999"
  922. Minimum="0"
  923. StringFormat="F0"
  924. Value="{Binding LockFeederNumber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  925. <TextBlock
  926. Margin="5,0,0,0"
  927. VerticalAlignment="Center"
  928. Text="{lex:Loc 电批程序编号}" />
  929. <mah:NumericUpDown
  930. MinWidth="60"
  931. Margin="0"
  932. Padding="2"
  933. HorizontalAlignment="Stretch"
  934. VerticalAlignment="Center"
  935. Interval="1"
  936. Maximum="100"
  937. Minimum="0"
  938. StringFormat="F0"
  939. Value="{Binding LockScrewProgramNumber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  940. <!-- 应用按钮 -->
  941. <Button
  942. MinWidth="60"
  943. Margin="10,0,0,0"
  944. HorizontalAlignment="Left"
  945. materialDesign:ButtonAssist.CornerRadius="5"
  946. Command="{Binding ApplyLockPointFeederAndScrewProgramCommand}"
  947. Content="{lex:Loc 应用}" />
  948. </StackPanel>
  949. </StackPanel>
  950. </ScrollViewer>
  951. </StackPanel>
  952. </StackPanel>
  953. <!-- 点位表 -->
  954. <DataGrid
  955. x:Name="dgPoints"
  956. AutoGenerateColumns="False"
  957. CanUserAddRows="False"
  958. CanUserDeleteRows="False"
  959. ColumnWidth="*"
  960. GridLinesVisibility="All"
  961. HeadersVisibility="Column"
  962. HorizontalScrollBarVisibility="Auto"
  963. ItemsSource="{Binding Points}"
  964. ScrollViewer.CanContentScroll="True"
  965. ScrollViewer.HorizontalScrollBarVisibility="Auto"
  966. SelectedItem="{Binding SelectedPointInDataGrid, Mode=TwoWay}"
  967. SelectionMode="Single"
  968. SelectionUnit="FullRow"
  969. VerticalGridLinesBrush="#D0D0D0">
  970. <DataGrid.Resources>
  971. <Style TargetType="DataGridCell">
  972. <Style.Resources>
  973. <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="#0078D7" />
  974. </Style.Resources>
  975. <Setter Property="MinHeight" Value="25" />
  976. <Setter Property="VerticalContentAlignment" Value="Center" />
  977. <Setter Property="HorizontalContentAlignment" Value="Center" />
  978. <Setter Property="VerticalAlignment" Value="Center" />
  979. <Setter Property="TextBlock.TextAlignment" Value="Center" />
  980. <Setter Property="Padding" Value="0" />
  981. <Style.Triggers>
  982. <Trigger Property="IsSelected" Value="True">
  983. <Setter Property="Foreground" Value="White" />
  984. </Trigger>
  985. </Style.Triggers>
  986. </Style>
  987. <!-- 为 TextBlock 添加默认居中样式 -->
  988. <Style TargetType="TextBlock">
  989. <Setter Property="TextAlignment" Value="Center" />
  990. <Setter Property="HorizontalAlignment" Value="Center" />
  991. <Setter Property="VerticalAlignment" Value="Center" />
  992. </Style>
  993. </DataGrid.Resources>
  994. <DataGrid.Columns>
  995. <DataGridTextColumn
  996. Width="Auto"
  997. MinWidth="60"
  998. Binding="{Binding Number, Mode=TwoWay, StringFormat={}{0:F0}}"
  999. Header="{lex:Loc 编号}"
  1000. IsReadOnly="True" />
  1001. <DataGridTextColumn
  1002. Width="Auto"
  1003. MinWidth="100"
  1004. Binding="{Binding Label, Mode=TwoWay}"
  1005. Header="{lex:Loc 标签}" />
  1006. <!-- X 坐标 -->
  1007. <DataGridTemplateColumn
  1008. Width="Auto"
  1009. MinWidth="60"
  1010. Header="X位置">
  1011. <DataGridTemplateColumn.CellTemplate>
  1012. <DataTemplate>
  1013. <TextBlock
  1014. HorizontalAlignment="Center"
  1015. VerticalAlignment="Center"
  1016. Text="{Binding X_Position, StringFormat={}{0:F3}}" />
  1017. </DataTemplate>
  1018. </DataGridTemplateColumn.CellTemplate>
  1019. <DataGridTemplateColumn.CellEditingTemplate>
  1020. <DataTemplate>
  1021. <mah:NumericUpDown
  1022. Margin="0"
  1023. Padding="2"
  1024. HorizontalAlignment="Stretch"
  1025. VerticalAlignment="Center"
  1026. Interval="0.1"
  1027. Maximum="9999.000"
  1028. Minimum="-9999.000"
  1029. StringFormat="F3"
  1030. Value="{Binding X_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1031. </DataTemplate>
  1032. </DataGridTemplateColumn.CellEditingTemplate>
  1033. </DataGridTemplateColumn>
  1034. <!-- X 速度 -->
  1035. <DataGridTemplateColumn
  1036. Width="Auto"
  1037. MinWidth="60"
  1038. Header="{lex:Loc X速度}">
  1039. <DataGridTemplateColumn.CellTemplate>
  1040. <DataTemplate>
  1041. <TextBlock
  1042. HorizontalAlignment="Center"
  1043. VerticalAlignment="Center"
  1044. Text="{Binding X_Velocity, StringFormat={}{0:F0}}" />
  1045. </DataTemplate>
  1046. </DataGridTemplateColumn.CellTemplate>
  1047. <DataGridTemplateColumn.CellEditingTemplate>
  1048. <DataTemplate>
  1049. <mah:NumericUpDown
  1050. Margin="0"
  1051. Padding="2"
  1052. HorizontalAlignment="Stretch"
  1053. VerticalAlignment="Center"
  1054. Interval="1"
  1055. Maximum="9999.000"
  1056. Minimum="0"
  1057. StringFormat="F3"
  1058. Value="{Binding X_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1059. </DataTemplate>
  1060. </DataGridTemplateColumn.CellEditingTemplate>
  1061. </DataGridTemplateColumn>
  1062. <!-- Y 坐标 -->
  1063. <DataGridTemplateColumn
  1064. Width="Auto"
  1065. MinWidth="60"
  1066. Header="{lex:Loc Y位置}">
  1067. <DataGridTemplateColumn.CellTemplate>
  1068. <DataTemplate>
  1069. <TextBlock
  1070. HorizontalAlignment="Center"
  1071. VerticalAlignment="Center"
  1072. Text="{Binding Y_Position, StringFormat={}{0:F3}}" />
  1073. </DataTemplate>
  1074. </DataGridTemplateColumn.CellTemplate>
  1075. <DataGridTemplateColumn.CellEditingTemplate>
  1076. <DataTemplate>
  1077. <mah:NumericUpDown
  1078. Margin="0"
  1079. Padding="2"
  1080. HorizontalAlignment="Stretch"
  1081. VerticalAlignment="Center"
  1082. Interval="0.1"
  1083. Maximum="9999.000"
  1084. Minimum="-9999.000"
  1085. StringFormat="F3"
  1086. Value="{Binding Y_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1087. </DataTemplate>
  1088. </DataGridTemplateColumn.CellEditingTemplate>
  1089. </DataGridTemplateColumn>
  1090. <!-- Y 速度 -->
  1091. <DataGridTemplateColumn
  1092. Width="Auto"
  1093. MinWidth="60"
  1094. Header="{lex:Loc Y速度}">
  1095. <DataGridTemplateColumn.CellTemplate>
  1096. <DataTemplate>
  1097. <TextBlock
  1098. HorizontalAlignment="Center"
  1099. VerticalAlignment="Center"
  1100. Text="{Binding Y_Velocity, StringFormat={}{0:F0}}" />
  1101. </DataTemplate>
  1102. </DataGridTemplateColumn.CellTemplate>
  1103. <DataGridTemplateColumn.CellEditingTemplate>
  1104. <DataTemplate>
  1105. <mah:NumericUpDown
  1106. Margin="0"
  1107. Padding="2"
  1108. HorizontalAlignment="Stretch"
  1109. VerticalAlignment="Center"
  1110. Interval="1"
  1111. Maximum="9999.000"
  1112. Minimum="0"
  1113. StringFormat="F3"
  1114. Value="{Binding Y_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1115. </DataTemplate>
  1116. </DataGridTemplateColumn.CellEditingTemplate>
  1117. </DataGridTemplateColumn>
  1118. <!-- Z 起点坐标 -->
  1119. <DataGridTemplateColumn
  1120. Width="Auto"
  1121. MinWidth="60"
  1122. Header="{lex:Loc Z起点位置}">
  1123. <DataGridTemplateColumn.CellTemplate>
  1124. <DataTemplate>
  1125. <TextBlock
  1126. HorizontalAlignment="Center"
  1127. VerticalAlignment="Center"
  1128. Text="{Binding Z_Position_Start, StringFormat={}{0:F3}}" />
  1129. </DataTemplate>
  1130. </DataGridTemplateColumn.CellTemplate>
  1131. <DataGridTemplateColumn.CellEditingTemplate>
  1132. <DataTemplate>
  1133. <mah:NumericUpDown
  1134. Margin="0"
  1135. Padding="2"
  1136. HorizontalAlignment="Stretch"
  1137. VerticalAlignment="Center"
  1138. Interval="0.1"
  1139. Maximum="9999.000"
  1140. Minimum="-9999.000"
  1141. StringFormat="F3"
  1142. Value="{Binding Z_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1143. </DataTemplate>
  1144. </DataGridTemplateColumn.CellEditingTemplate>
  1145. </DataGridTemplateColumn>
  1146. <!-- Z 起点速度 -->
  1147. <DataGridTemplateColumn
  1148. Width="Auto"
  1149. MinWidth="60"
  1150. Header="{lex:Loc Z起点速度}">
  1151. <DataGridTemplateColumn.CellTemplate>
  1152. <DataTemplate>
  1153. <TextBlock
  1154. HorizontalAlignment="Center"
  1155. VerticalAlignment="Center"
  1156. Text="{Binding Z_Velocity_Start, StringFormat={}{0:F0}}" />
  1157. </DataTemplate>
  1158. </DataGridTemplateColumn.CellTemplate>
  1159. <DataGridTemplateColumn.CellEditingTemplate>
  1160. <DataTemplate>
  1161. <mah:NumericUpDown
  1162. Margin="0"
  1163. Padding="2"
  1164. HorizontalAlignment="Stretch"
  1165. VerticalAlignment="Center"
  1166. Interval="1"
  1167. Maximum="9999.000"
  1168. Minimum="0"
  1169. StringFormat="F3"
  1170. Value="{Binding Z_Velocity_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1171. </DataTemplate>
  1172. </DataGridTemplateColumn.CellEditingTemplate>
  1173. </DataGridTemplateColumn>
  1174. <!-- Z 终点坐标 -->
  1175. <DataGridTemplateColumn
  1176. Width="Auto"
  1177. MinWidth="60"
  1178. Header="{lex:Loc Z终点位置}">
  1179. <DataGridTemplateColumn.CellTemplate>
  1180. <DataTemplate>
  1181. <TextBlock
  1182. HorizontalAlignment="Center"
  1183. VerticalAlignment="Center"
  1184. Text="{Binding Z_Position_Stop, StringFormat={}{0:F3}}" />
  1185. </DataTemplate>
  1186. </DataGridTemplateColumn.CellTemplate>
  1187. <DataGridTemplateColumn.CellEditingTemplate>
  1188. <DataTemplate>
  1189. <mah:NumericUpDown
  1190. Margin="0"
  1191. Padding="2"
  1192. HorizontalAlignment="Stretch"
  1193. VerticalAlignment="Center"
  1194. Interval="0.1"
  1195. Maximum="9999.000"
  1196. Minimum="-9999.000"
  1197. StringFormat="F3"
  1198. Value="{Binding Z_Position_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1199. </DataTemplate>
  1200. </DataGridTemplateColumn.CellEditingTemplate>
  1201. </DataGridTemplateColumn>
  1202. <!-- Z 终点速度 -->
  1203. <DataGridTemplateColumn
  1204. Width="Auto"
  1205. MinWidth="60"
  1206. Header="{lex:Loc Z终点速度}">
  1207. <DataGridTemplateColumn.CellTemplate>
  1208. <DataTemplate>
  1209. <TextBlock
  1210. HorizontalAlignment="Center"
  1211. VerticalAlignment="Center"
  1212. Text="{Binding Z_Velocity_Stop, StringFormat={}{0:F0}}" />
  1213. </DataTemplate>
  1214. </DataGridTemplateColumn.CellTemplate>
  1215. <DataGridTemplateColumn.CellEditingTemplate>
  1216. <DataTemplate>
  1217. <mah:NumericUpDown
  1218. Margin="0"
  1219. Padding="2"
  1220. HorizontalAlignment="Stretch"
  1221. VerticalAlignment="Center"
  1222. Interval="1"
  1223. Maximum="9999.000"
  1224. Minimum="0"
  1225. StringFormat="F3"
  1226. Value="{Binding Z_Velocity_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1227. </DataTemplate>
  1228. </DataGridTemplateColumn.CellEditingTemplate>
  1229. </DataGridTemplateColumn>
  1230. <!-- U 坐标 -->
  1231. <DataGridTemplateColumn
  1232. Width="Auto"
  1233. MinWidth="60"
  1234. Header="{lex:Loc U位置}">
  1235. <DataGridTemplateColumn.CellTemplate>
  1236. <DataTemplate>
  1237. <TextBlock
  1238. HorizontalAlignment="Center"
  1239. VerticalAlignment="Center"
  1240. Text="{Binding U_Position, StringFormat={}{0:F3}}" />
  1241. </DataTemplate>
  1242. </DataGridTemplateColumn.CellTemplate>
  1243. <DataGridTemplateColumn.CellEditingTemplate>
  1244. <DataTemplate>
  1245. <mah:NumericUpDown
  1246. Margin="0"
  1247. Padding="2"
  1248. HorizontalAlignment="Stretch"
  1249. VerticalAlignment="Center"
  1250. Interval="0.1"
  1251. Maximum="9999.000"
  1252. Minimum="-9999.000"
  1253. StringFormat="F3"
  1254. Value="{Binding U_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1255. </DataTemplate>
  1256. </DataGridTemplateColumn.CellEditingTemplate>
  1257. </DataGridTemplateColumn>
  1258. <!-- U 速度 -->
  1259. <DataGridTemplateColumn
  1260. Width="Auto"
  1261. MinWidth="60"
  1262. Header="{lex:Loc U速度}">
  1263. <DataGridTemplateColumn.CellTemplate>
  1264. <DataTemplate>
  1265. <TextBlock
  1266. HorizontalAlignment="Center"
  1267. VerticalAlignment="Center"
  1268. Text="{Binding U_Velocity, StringFormat={}{0:F0}}" />
  1269. </DataTemplate>
  1270. </DataGridTemplateColumn.CellTemplate>
  1271. <DataGridTemplateColumn.CellEditingTemplate>
  1272. <DataTemplate>
  1273. <mah:NumericUpDown
  1274. Margin="0"
  1275. Padding="2"
  1276. HorizontalAlignment="Stretch"
  1277. VerticalAlignment="Center"
  1278. Interval="1"
  1279. Maximum="9999.000"
  1280. Minimum="0"
  1281. StringFormat="F3"
  1282. Value="{Binding U_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1283. </DataTemplate>
  1284. </DataGridTemplateColumn.CellEditingTemplate>
  1285. </DataGridTemplateColumn>
  1286. <!-- R 坐标 -->
  1287. <DataGridTemplateColumn
  1288. Width="Auto"
  1289. MinWidth="60"
  1290. Header="{lex:Loc R位置}">
  1291. <DataGridTemplateColumn.CellTemplate>
  1292. <DataTemplate>
  1293. <TextBlock
  1294. HorizontalAlignment="Center"
  1295. VerticalAlignment="Center"
  1296. Text="{Binding R_Position, StringFormat={}{0:F3}}" />
  1297. </DataTemplate>
  1298. </DataGridTemplateColumn.CellTemplate>
  1299. <DataGridTemplateColumn.CellEditingTemplate>
  1300. <DataTemplate>
  1301. <mah:NumericUpDown
  1302. Margin="0"
  1303. Padding="2"
  1304. HorizontalAlignment="Stretch"
  1305. VerticalAlignment="Center"
  1306. Interval="0.1"
  1307. Maximum="9999.000"
  1308. Minimum="-9999.000"
  1309. StringFormat="F3"
  1310. Value="{Binding R_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1311. </DataTemplate>
  1312. </DataGridTemplateColumn.CellEditingTemplate>
  1313. </DataGridTemplateColumn>
  1314. <!-- R 速度 -->
  1315. <DataGridTemplateColumn
  1316. Width="Auto"
  1317. MinWidth="60"
  1318. Header="{lex:Loc R速度}">
  1319. <DataGridTemplateColumn.CellTemplate>
  1320. <DataTemplate>
  1321. <TextBlock
  1322. HorizontalAlignment="Center"
  1323. VerticalAlignment="Center"
  1324. Text="{Binding R_Velocity, StringFormat={}{0:F0}}" />
  1325. </DataTemplate>
  1326. </DataGridTemplateColumn.CellTemplate>
  1327. <DataGridTemplateColumn.CellEditingTemplate>
  1328. <DataTemplate>
  1329. <mah:NumericUpDown
  1330. Margin="0"
  1331. Padding="2"
  1332. HorizontalAlignment="Stretch"
  1333. VerticalAlignment="Center"
  1334. Interval="1"
  1335. Maximum="9999.000"
  1336. Minimum="0"
  1337. StringFormat="F3"
  1338. Value="{Binding R_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1339. </DataTemplate>
  1340. </DataGridTemplateColumn.CellEditingTemplate>
  1341. </DataGridTemplateColumn>
  1342. <!-- 扭矩 -->
  1343. <DataGridTemplateColumn
  1344. Width="Auto"
  1345. MinWidth="60"
  1346. Header="{lex:Loc 扭矩}">
  1347. <DataGridTemplateColumn.CellTemplate>
  1348. <DataTemplate>
  1349. <TextBlock
  1350. HorizontalAlignment="Center"
  1351. VerticalAlignment="Center"
  1352. Text="{Binding Torque, StringFormat={}{0:F3}}" />
  1353. </DataTemplate>
  1354. </DataGridTemplateColumn.CellTemplate>
  1355. <DataGridTemplateColumn.CellEditingTemplate>
  1356. <DataTemplate>
  1357. <mah:NumericUpDown
  1358. Margin="0"
  1359. Padding="2"
  1360. HorizontalAlignment="Stretch"
  1361. VerticalAlignment="Center"
  1362. Interval="0.1"
  1363. Maximum="9999.000"
  1364. Minimum="-9999.000"
  1365. StringFormat="F3"
  1366. Value="{Binding Torque, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1367. </DataTemplate>
  1368. </DataGridTemplateColumn.CellEditingTemplate>
  1369. </DataGridTemplateColumn>
  1370. <!-- 供料器 -->
  1371. <DataGridTemplateColumn
  1372. Width="Auto"
  1373. MinWidth="60"
  1374. Header="{lex:Loc 供料器}">
  1375. <DataGridTemplateColumn.CellTemplate>
  1376. <DataTemplate>
  1377. <TextBlock
  1378. HorizontalAlignment="Center"
  1379. VerticalAlignment="Center"
  1380. Text="{Binding Feeder, StringFormat={}{0:F0}}" />
  1381. </DataTemplate>
  1382. </DataGridTemplateColumn.CellTemplate>
  1383. <DataGridTemplateColumn.CellEditingTemplate>
  1384. <DataTemplate>
  1385. <mah:NumericUpDown
  1386. Margin="0"
  1387. Padding="2"
  1388. HorizontalAlignment="Stretch"
  1389. VerticalAlignment="Center"
  1390. Interval="1"
  1391. Maximum="9999.000"
  1392. Minimum="0"
  1393. StringFormat="F0"
  1394. Value="{Binding Feeder, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1395. </DataTemplate>
  1396. </DataGridTemplateColumn.CellEditingTemplate>
  1397. </DataGridTemplateColumn>
  1398. <!-- 电批程序号 -->
  1399. <DataGridTemplateColumn
  1400. Width="Auto"
  1401. MinWidth="60"
  1402. Header="{lex:Loc 电批程序号}">
  1403. <DataGridTemplateColumn.CellTemplate>
  1404. <DataTemplate>
  1405. <TextBlock
  1406. HorizontalAlignment="Center"
  1407. VerticalAlignment="Center"
  1408. Text="{Binding ScrewProNum, StringFormat={}{0:F0}}" />
  1409. </DataTemplate>
  1410. </DataGridTemplateColumn.CellTemplate>
  1411. <DataGridTemplateColumn.CellEditingTemplate>
  1412. <DataTemplate>
  1413. <mah:NumericUpDown
  1414. Margin="0"
  1415. Padding="2"
  1416. HorizontalAlignment="Stretch"
  1417. VerticalAlignment="Center"
  1418. Interval="1"
  1419. Maximum="9999.000"
  1420. Minimum="0"
  1421. StringFormat="F0"
  1422. Value="{Binding ScrewProNum, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1423. </DataTemplate>
  1424. </DataGridTemplateColumn.CellEditingTemplate>
  1425. </DataGridTemplateColumn>
  1426. <!-- 视觉流程 -->
  1427. <DataGridTemplateColumn
  1428. x:Name="colProcedure"
  1429. Width="Auto"
  1430. MinWidth="60"
  1431. Header="视觉流程">
  1432. <DataGridTemplateColumn.CellTemplate>
  1433. <DataTemplate>
  1434. <ComboBox
  1435. MinWidth="50"
  1436. Margin="5,0,0,0"
  1437. ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1438. SelectedValue="{Binding VisionProcessID, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  1439. SelectedValuePath="Id"
  1440. SelectionChanged="ProcedureCombo_SelectionChanged">
  1441. <ComboBox.ItemTemplate>
  1442. <DataTemplate>
  1443. <StackPanel Orientation="Horizontal">
  1444. <materialDesign:PackIcon Kind="VideoOutline" />
  1445. <TextBlock Margin="6,0" Text="{Binding CameraName}" />
  1446. <materialDesign:PackIcon Kind="ProgressWrench" />
  1447. <TextBlock Margin="6,0" Text="{Binding Name}" />
  1448. </StackPanel>
  1449. </DataTemplate>
  1450. </ComboBox.ItemTemplate>
  1451. </ComboBox>
  1452. </DataTemplate>
  1453. </DataGridTemplateColumn.CellTemplate>
  1454. </DataGridTemplateColumn>
  1455. <DataGridTemplateColumn
  1456. x:Name="colIsUse"
  1457. Width="Auto"
  1458. MinWidth="60"
  1459. Header="是否启用">
  1460. <DataGridTemplateColumn.CellTemplate>
  1461. <DataTemplate>
  1462. <CheckBox
  1463. HorizontalAlignment="Center"
  1464. VerticalAlignment="Center"
  1465. IsChecked="{Binding IsUse, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1466. </DataTemplate>
  1467. </DataGridTemplateColumn.CellTemplate>
  1468. </DataGridTemplateColumn>
  1469. <!-- 是否需要取螺丝 -->
  1470. <DataGridTemplateColumn
  1471. x:Name="colPickScrew"
  1472. Width="Auto"
  1473. MinWidth="60"
  1474. Header="是否取螺丝">
  1475. <DataGridTemplateColumn.CellTemplate>
  1476. <DataTemplate>
  1477. <TextBlock
  1478. HorizontalAlignment="Center"
  1479. VerticalAlignment="Center"
  1480. Text="{Binding PickScrew, StringFormat={}{0:F0}}" />
  1481. </DataTemplate>
  1482. </DataGridTemplateColumn.CellTemplate>
  1483. <DataGridTemplateColumn.CellEditingTemplate>
  1484. <DataTemplate>
  1485. <mah:NumericUpDown
  1486. Margin="0"
  1487. Padding="2"
  1488. HorizontalAlignment="Stretch"
  1489. VerticalAlignment="Center"
  1490. Interval="1"
  1491. Maximum="1"
  1492. Minimum="0"
  1493. StringFormat="F0"
  1494. Value="{Binding PickScrew, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1495. </DataTemplate>
  1496. </DataGridTemplateColumn.CellEditingTemplate>
  1497. </DataGridTemplateColumn>
  1498. <DataGridTextColumn
  1499. Width="200"
  1500. MinWidth="100"
  1501. Binding="{Binding Description, Mode=TwoWay}"
  1502. Header="{lex:Loc 描述}" />
  1503. </DataGrid.Columns>
  1504. </DataGrid>
  1505. </DockPanel>
  1506. </DockPanel>
  1507. <GridSplitter
  1508. Grid.Row="0"
  1509. Grid.RowSpan="2"
  1510. Grid.Column="0"
  1511. Width="2"
  1512. HorizontalAlignment="Right"
  1513. VerticalAlignment="Stretch"
  1514. Background="DeepSkyBlue" />
  1515. <!-- 运动控制区 -->
  1516. <Viewbox Grid.Column="1">
  1517. <Grid Grid.Row="1">
  1518. <Grid.RowDefinitions>
  1519. <RowDefinition Height="auto" />
  1520. <RowDefinition Height="auto" />
  1521. </Grid.RowDefinitions>
  1522. <Grid.ColumnDefinitions>
  1523. <ColumnDefinition Width="auto" />
  1524. <ColumnDefinition Width="auto" />
  1525. </Grid.ColumnDefinitions>
  1526. <ToggleButton
  1527. Grid.ColumnSpan="2"
  1528. Margin="5,0"
  1529. HorizontalAlignment="Left"
  1530. VerticalAlignment="Top"
  1531. materialDesign:ToggleButtonAssist.OnContent="{materialDesign:PackIcon Kind=ArrowLeft}"
  1532. Content="{materialDesign:PackIcon Kind=Camera}"
  1533. IsChecked="{Binding IsLeftDrawerOpen, ElementName=DrawerHost}"
  1534. Style="{StaticResource MaterialDesignActionToggleButton}"
  1535. ToolTip="{lex:Loc 相机图像}" />
  1536. <StackPanel
  1537. Grid.Row="0"
  1538. Grid.ColumnSpan="2"
  1539. Margin="58,0,5,10"
  1540. HorizontalAlignment="Left"
  1541. Orientation="Horizontal">
  1542. <GroupBox
  1543. MinWidth="230"
  1544. Margin="0,0,10,0"
  1545. Padding="10"
  1546. Header="接料模组1">
  1547. <StackPanel Orientation="Vertical">
  1548. <TextBlock
  1549. Margin="0,0,0,5"
  1550. HorizontalAlignment="Left"
  1551. Text="W终点位置" />
  1552. <mah:NumericUpDown
  1553. MinWidth="110"
  1554. Margin="0,0,0,8"
  1555. Padding="2"
  1556. HorizontalAlignment="Stretch"
  1557. Interval="0.1"
  1558. Maximum="9999"
  1559. Minimum="-9999"
  1560. StringFormat="F3"
  1561. Value="{Binding SelectProduct.RobotPoint.W_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1562. <StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
  1563. <Button
  1564. MinWidth="70"
  1565. Margin="0,0,8,0"
  1566. materialDesign:ButtonAssist.CornerRadius="8"
  1567. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1568. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=W-}"
  1569. Style="{StaticResource MaterialDesignRaisedDarkButton}">
  1570. <StackPanel Orientation="Vertical">
  1571. <materialDesign:PackIcon
  1572. Width="26"
  1573. Height="26"
  1574. Kind="ArrowLeftBold" />
  1575. <TextBlock HorizontalAlignment="Center" Text="-W" />
  1576. </StackPanel>
  1577. </Button>
  1578. <Button
  1579. MinWidth="70"
  1580. materialDesign:ButtonAssist.CornerRadius="8"
  1581. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1582. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=W+}"
  1583. Style="{StaticResource MaterialDesignRaisedDarkButton}">
  1584. <StackPanel Orientation="Vertical">
  1585. <materialDesign:PackIcon
  1586. Width="26"
  1587. Height="26"
  1588. Kind="ArrowRightBold" />
  1589. <TextBlock HorizontalAlignment="Center" Text="+X" />
  1590. </StackPanel>
  1591. </Button>
  1592. </StackPanel>
  1593. </StackPanel>
  1594. </GroupBox>
  1595. <GroupBox
  1596. MinWidth="230"
  1597. Padding="10"
  1598. Header="接料模组2">
  1599. <StackPanel Orientation="Vertical">
  1600. <TextBlock
  1601. Margin="0,0,0,5"
  1602. HorizontalAlignment="Left"
  1603. Text="V终点位置" />
  1604. <mah:NumericUpDown
  1605. MinWidth="110"
  1606. Margin="0,0,0,8"
  1607. Padding="2"
  1608. HorizontalAlignment="Stretch"
  1609. Interval="0.1"
  1610. Maximum="9999"
  1611. Minimum="-9999"
  1612. StringFormat="F3"
  1613. Value="{Binding SelectProduct.RobotPoint.V_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
  1614. <StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
  1615. <Button
  1616. MinWidth="70"
  1617. Margin="0,0,8,0"
  1618. materialDesign:ButtonAssist.CornerRadius="8"
  1619. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1620. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=V-}"
  1621. Style="{StaticResource MaterialDesignRaisedDarkButton}">
  1622. <StackPanel Orientation="Vertical">
  1623. <materialDesign:PackIcon
  1624. Width="26"
  1625. Height="26"
  1626. Kind="ArrowLeftBold" />
  1627. <TextBlock HorizontalAlignment="Center" Text="-X" />
  1628. </StackPanel>
  1629. </Button>
  1630. <Button
  1631. MinWidth="70"
  1632. materialDesign:ButtonAssist.CornerRadius="8"
  1633. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1634. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=V+}"
  1635. Style="{StaticResource MaterialDesignRaisedDarkButton}">
  1636. <StackPanel Orientation="Vertical">
  1637. <materialDesign:PackIcon
  1638. Width="26"
  1639. Height="26"
  1640. Kind="ArrowRightBold" />
  1641. <TextBlock HorizontalAlignment="Center" Text="+X" />
  1642. </StackPanel>
  1643. </Button>
  1644. </StackPanel>
  1645. </StackPanel>
  1646. </GroupBox>
  1647. </StackPanel>
  1648. <Grid
  1649. Grid.Row="1"
  1650. Grid.Column="0"
  1651. VerticalAlignment="Center">
  1652. <Grid.RowDefinitions>
  1653. <RowDefinition Height="auto" />
  1654. <RowDefinition Height="auto" />
  1655. <RowDefinition Height="auto" />
  1656. <RowDefinition Height="auto" />
  1657. <RowDefinition Height="auto" />
  1658. </Grid.RowDefinitions>
  1659. <Button
  1660. Grid.Row="0"
  1661. materialDesign:ButtonAssist.CornerRadius="10"
  1662. Command="{Binding DataContext.MotorCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1663. CommandParameter="True"
  1664. Content="{lex:Loc 上使能}"
  1665. Style="{StaticResource MaterialDesignRaisedDarkButton}" />
  1666. <Button
  1667. Grid.Row="1"
  1668. Margin="0,10,0,10"
  1669. materialDesign:ButtonAssist.CornerRadius="10"
  1670. Command="{Binding DataContext.MotorCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1671. CommandParameter="False"
  1672. Content="{lex:Loc 下使能}"
  1673. Style="{StaticResource MaterialDesignRaisedDarkButton}" />
  1674. <Button
  1675. Grid.Row="2"
  1676. materialDesign:ButtonAssist.CornerRadius="10"
  1677. Command="{Binding DataContext.ResetCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1678. Content="{lex:Loc 复位错误}"
  1679. Style="{StaticResource MaterialDesignRaisedDarkButton}" />
  1680. <Button
  1681. Grid.Row="3"
  1682. Margin="0,10,0,10"
  1683. materialDesign:ButtonAssist.CornerRadius="10"
  1684. Command="{Binding DataContext.sFreeCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1685. Content="{lex:Loc 释放刹车}"
  1686. Style="{StaticResource MaterialDesignRaisedDarkButton}" />
  1687. <Button
  1688. Grid.Row="4"
  1689. materialDesign:ButtonAssist.CornerRadius="10"
  1690. Command="{Binding DataContext.SLockCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1691. Content="{lex:Loc 锁定刹车}"
  1692. Style="{StaticResource MaterialDesignRaisedDarkButton}" />
  1693. </Grid>
  1694. <Grid Grid.Row="1" Grid.Column="1">
  1695. <Grid.RowDefinitions>
  1696. <RowDefinition Height="auto" />
  1697. <RowDefinition Height="*" />
  1698. </Grid.RowDefinitions>
  1699. <TextBlock Margin="10,0" VerticalAlignment="Center">
  1700. <TextBlock.Text>
  1701. <MultiBinding StringFormat="{}CurPos X: {0:F3} mm Y: {1:F3} mm Z: {2:F3} mm U: {3:F3} mm R: {4:F3} mm W: {5:F3} mm V: {6:F3} mm">
  1702. <Binding Path="Robot.CurrentPosition.X" />
  1703. <Binding Path="Robot.CurrentPosition.Y" />
  1704. <Binding Path="Robot.CurrentPosition.Z" />
  1705. <Binding Path="Robot.CurrentPosition.U" />
  1706. <Binding Path="Robot.CurrentPosition.R" />
  1707. <Binding Path="Robot.CurrentPosition.W" />
  1708. <Binding Path="Robot.CurrentPosition.V" />
  1709. </MultiBinding>
  1710. </TextBlock.Text>
  1711. </TextBlock>
  1712. <Grid Grid.Row="1">
  1713. <Grid.ColumnDefinitions>
  1714. <ColumnDefinition Width="auto" />
  1715. <ColumnDefinition Width="auto" />
  1716. <ColumnDefinition Width="auto" />
  1717. <ColumnDefinition Width="auto" />
  1718. <ColumnDefinition Width="auto" />
  1719. <ColumnDefinition Width="auto" />
  1720. </Grid.ColumnDefinitions>
  1721. <Grid.RowDefinitions>
  1722. <RowDefinition Height="auto" />
  1723. <RowDefinition Height="auto" />
  1724. <RowDefinition Height="auto" />
  1725. <RowDefinition Height="auto" />
  1726. <RowDefinition Height="auto" />
  1727. <RowDefinition Height="auto" />
  1728. </Grid.RowDefinitions>
  1729. <Grid.Resources>
  1730. <Style BasedOn="{StaticResource MaterialDesignRaisedDarkButton}" TargetType="Button">
  1731. <Setter Property="Width" Value="60" />
  1732. <Setter Property="Height" Value="60" />
  1733. <Setter Property="FontSize" Value="13" />
  1734. <Setter Property="Padding" Value="0" />
  1735. <Setter Property="HorizontalAlignment" Value="Center" />
  1736. <Setter Property="VerticalAlignment" Value="Center" />
  1737. <Setter Property="Margin" Value="2" />
  1738. <Setter Property="materialDesign:ButtonAssist.CornerRadius" Value="10" />
  1739. </Style>
  1740. </Grid.Resources>
  1741. <Button
  1742. x:Name="btn_x"
  1743. Grid.Row="1"
  1744. Grid.Column="0"
  1745. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1746. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=X-}">
  1747. <StackPanel Orientation="Vertical">
  1748. <materialDesign:PackIcon
  1749. Width="26"
  1750. Height="26"
  1751. Kind="ArrowLeftBold" />
  1752. <TextBlock HorizontalAlignment="Center" Text="-X" />
  1753. </StackPanel>
  1754. </Button>
  1755. <Button
  1756. Grid.Row="1"
  1757. Grid.Column="2"
  1758. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1759. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=X+}">
  1760. <StackPanel Orientation="Vertical">
  1761. <materialDesign:PackIcon
  1762. Width="26"
  1763. Height="26"
  1764. Kind="ArrowRightBold" />
  1765. <TextBlock HorizontalAlignment="Center" Text="+X" />
  1766. </StackPanel>
  1767. </Button>
  1768. <Button
  1769. Grid.Row="0"
  1770. Grid.Column="1"
  1771. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1772. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=Y+}">
  1773. <StackPanel Orientation="Vertical">
  1774. <materialDesign:PackIcon
  1775. Width="26"
  1776. Height="26"
  1777. Kind="ArrowTopBold" />
  1778. <TextBlock HorizontalAlignment="Center" Text="+Y" />
  1779. </StackPanel>
  1780. </Button>
  1781. <Button
  1782. Grid.Row="2"
  1783. Grid.Column="1"
  1784. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1785. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=Y-}">
  1786. <StackPanel Orientation="Vertical">
  1787. <materialDesign:PackIcon
  1788. Width="26"
  1789. Height="26"
  1790. Kind="ArrowBottomBold" />
  1791. <TextBlock HorizontalAlignment="Center" Text="-Y" />
  1792. </StackPanel>
  1793. </Button>
  1794. <Button
  1795. Grid.Row="0"
  1796. Grid.Column="3"
  1797. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1798. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=Z+}">
  1799. <StackPanel Orientation="Vertical">
  1800. <materialDesign:PackIcon
  1801. Width="26"
  1802. Height="26"
  1803. Kind="ArrowTopBold" />
  1804. <TextBlock HorizontalAlignment="Center" Text="+Z" />
  1805. </StackPanel>
  1806. </Button>
  1807. <Button
  1808. Grid.Row="2"
  1809. Grid.Column="3"
  1810. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1811. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=Z-}">
  1812. <StackPanel Orientation="Vertical">
  1813. <materialDesign:PackIcon
  1814. Width="26"
  1815. Height="26"
  1816. Kind="ArrowBottomBold" />
  1817. <TextBlock HorizontalAlignment="Center" Text="-Z" />
  1818. </StackPanel>
  1819. </Button>
  1820. <Button
  1821. Grid.Row="3"
  1822. Grid.Column="0"
  1823. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1824. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=U+}">
  1825. <StackPanel Orientation="Vertical">
  1826. <materialDesign:PackIcon
  1827. Width="26"
  1828. Height="26"
  1829. Kind="AxisZRotateCounterclockwise" />
  1830. <TextBlock HorizontalAlignment="Center" Text="+U" />
  1831. </StackPanel>
  1832. </Button>
  1833. <Button
  1834. Grid.Row="4"
  1835. Grid.Column="0"
  1836. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1837. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=U-}">
  1838. <StackPanel Orientation="Vertical">
  1839. <materialDesign:PackIcon
  1840. Width="26"
  1841. Height="26"
  1842. Kind="AxisZRotateClockwise" />
  1843. <TextBlock HorizontalAlignment="Center" Text="-U" />
  1844. </StackPanel>
  1845. </Button>
  1846. <Button
  1847. Grid.Row="3"
  1848. Grid.Column="1"
  1849. Grid.ColumnSpan="2"
  1850. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1851. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=R+}">
  1852. <StackPanel Orientation="Vertical">
  1853. <materialDesign:PackIcon
  1854. Width="26"
  1855. Height="26"
  1856. Kind="AxisZRotateCounterclockwise" />
  1857. <TextBlock HorizontalAlignment="Center" Text="+R" />
  1858. </StackPanel>
  1859. </Button>
  1860. <Button
  1861. Grid.Row="4"
  1862. Grid.Column="1"
  1863. Grid.ColumnSpan="2"
  1864. Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1865. CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=R-}">
  1866. <StackPanel Orientation="Vertical">
  1867. <materialDesign:PackIcon
  1868. Width="26"
  1869. Height="26"
  1870. Kind="AxisZRotateClockwise" />
  1871. <TextBlock HorizontalAlignment="Center" Text="-R" />
  1872. </StackPanel>
  1873. </Button>
  1874. <Grid
  1875. Grid.Row="5"
  1876. Grid.ColumnSpan="7"
  1877. Margin="10">
  1878. <Grid.RowDefinitions>
  1879. <RowDefinition Height="auto" />
  1880. <RowDefinition Height="auto" />
  1881. <RowDefinition Height="auto" />
  1882. <RowDefinition Height="auto" />
  1883. </Grid.RowDefinitions>
  1884. <Grid.ColumnDefinitions>
  1885. <ColumnDefinition Width="auto" />
  1886. <ColumnDefinition Width="auto" />
  1887. <ColumnDefinition Width="auto" />
  1888. </Grid.ColumnDefinitions>
  1889. <TextBlock
  1890. Grid.Row="0"
  1891. Grid.Column="0"
  1892. Margin="10"
  1893. HorizontalAlignment="Right"
  1894. VerticalAlignment="Center"
  1895. Text="{lex:Loc 步进距离,
  1896. Converter={StaticResource StringFormatConverter},
  1897. ConverterParameter='{}{0}: '}" />
  1898. <uControl:myNumericUpDowm
  1899. x:Name="txtDistance"
  1900. Grid.Row="0"
  1901. Grid.Column="1"
  1902. MinWidth="100"
  1903. Margin="10"
  1904. materialDesign:HintAssist.Hint="{lex:Loc 步进距离}"
  1905. Interval="0.1"
  1906. Maximum="100"
  1907. Minimum="0"
  1908. StringFormat="{}{0:N3} mm"
  1909. Value="{Binding DataContext.Distance, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}, Mode=TwoWay}" />
  1910. <TextBlock
  1911. Grid.Row="1"
  1912. Grid.Column="0"
  1913. Margin="10"
  1914. VerticalAlignment="Center"
  1915. Text="{lex:Loc 点编号,
  1916. Converter={StaticResource StringFormatConverter},
  1917. ConverterParameter='{}{0}: '}" />
  1918. <ComboBox
  1919. x:Name="cmbSelectPoint"
  1920. Grid.Row="2"
  1921. Grid.Column="0"
  1922. MinWidth="80"
  1923. Margin="10,5"
  1924. materialDesign:HintAssist.Hint="{lex:Loc 选择点}"
  1925. ItemsSource="{Binding Points}"
  1926. SelectedItem="{Binding SelectedPointInComboBox, Mode=TwoWay}">
  1927. <ComboBox.ItemTemplate>
  1928. <DataTemplate>
  1929. <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
  1930. <TextBlock Text="{Binding Number, StringFormat={}{0}:}" />
  1931. <TextBlock Text="{Binding Label}" />
  1932. </StackPanel>
  1933. </DataTemplate>
  1934. </ComboBox.ItemTemplate>
  1935. </ComboBox>
  1936. <TextBlock
  1937. Grid.Row="1"
  1938. Grid.Column="1"
  1939. Margin="10"
  1940. VerticalAlignment="Center"
  1941. Text="{lex:Loc 动作指令,
  1942. Converter={StaticResource StringFormatConverter},
  1943. ConverterParameter='{}{0}: '}" />
  1944. <ComboBox
  1945. x:Name="cmbSelectMotioncmd"
  1946. Grid.Row="2"
  1947. Grid.Column="1"
  1948. MinWidth="80"
  1949. Margin="10,5"
  1950. materialDesign:HintAssist.Hint="{lex:Loc 动作指令}"
  1951. ItemsSource="{ext:EnumBindingSource EnumType=enums:MotionCommand}"
  1952. SelectedItem="{Binding DataContext.SelectMotionCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
  1953. <Button
  1954. Grid.Row="2"
  1955. Grid.Column="2"
  1956. Margin="2"
  1957. Command="{Binding DataContext.ExecuteMotion, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1958. Content="{lex:Loc 执行动作}">
  1959. <Button.CommandParameter>
  1960. <MultiBinding Converter="{StaticResource MultiParameterConverter}">
  1961. <Binding ElementName="cmbSelectPoint" Path="SelectedItem" />
  1962. <Binding ElementName="cmbSelectMotioncmd" Path="SelectedItem" />
  1963. </MultiBinding>
  1964. </Button.CommandParameter>
  1965. </Button>
  1966. <Button
  1967. Grid.Row="3"
  1968. Grid.Column="0"
  1969. Margin="2"
  1970. HorizontalAlignment="Right"
  1971. Command="{Binding DataContext.TechPointCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  1972. Content="{lex:Loc 示教}" />
  1973. <!--<ToggleButton Grid.Row="3"
  1974. Grid.Column="2"
  1975. HorizontalAlignment="Right"
  1976. VerticalAlignment="Center"
  1977. Visibility="{Binding IsHaveRobot,Converter={StaticResource BooleanToVisibilityConverter}}"
  1978. materialDesign:ToggleButtonAssist.OnContent="{materialDesign:PackIcon Kind=ArrowRight}"
  1979. Content="{materialDesign:PackIcon Kind=ProgressWrench}"
  1980. Style="{StaticResource MaterialDesignActionToggleButton}"
  1981. ToolTip="{lex:Loc 手动验证流程}"
  1982. Margin="5,0"
  1983. IsChecked="{Binding IsRightDrawerOpen,ElementName=DrawerHost}" />-->
  1984. </Grid>
  1985. </Grid>
  1986. </Grid>
  1987. </Grid>
  1988. </Viewbox>
  1989. </Grid>
  1990. </Grid>
  1991. </materialDesign:DrawerHost>
  1992. <StackPanel
  1993. Grid.Row="2"
  1994. Margin="20"
  1995. HorizontalAlignment="Center"
  1996. VerticalAlignment="Center"
  1997. Orientation="Horizontal">
  1998. <Button
  1999. MinWidth="100"
  2000. HorizontalAlignment="Center"
  2001. VerticalAlignment="Center"
  2002. materialDesign:ButtonAssist.CornerRadius="10"
  2003. Command="{Binding NextCommand}"
  2004. Content="{lex:Loc 下一步}"
  2005. IsEnabled="{Binding IsAllowEdit}"
  2006. Style="{StaticResource MaterialDesignRaisedButton}" />
  2007. </StackPanel>
  2008. </Grid>
  2009. </UserControl>