| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039 |
- <UserControl
- x:Class="TeamAAS_VP.Views.Product.PlcPointParams"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
- xmlns:convert="clr-namespace:TeamAAS_VP.ValueConverter"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:enums="clr-namespace:TeamAAS_VP.Enums"
- xmlns:ext="clr-namespace:TeamAAS_VP.Extension"
- xmlns:lex="http://wpflocalizeextension.codeplex.com"
- xmlns:local="clr-namespace:TeamAAS_VP.Views.Product"
- xmlns:localRobot="clr-namespace:TeamAAS_VP.Models.Robot"
- xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
- xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:prism="http://prismlibrary.com/"
- xmlns:sys="clr-namespace:System;assembly=mscorlib"
- xmlns:uControl="clr-namespace:TeamAAS_VP.Controls"
- xmlns:vm="clr-namespace:TeamAAS_VP.ViewModels.Product"
- xmlns:vp="clr-namespace:Cognex.VisionPro;assembly=Cognex.VisionPro.Controls"
- xmlns:wf="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
- d:Background="White"
- d:DataContext="{d:DesignInstance Type=vm:PlcPointParamsViewModel}"
- d:Height="600"
- d:Width="1024"
- lex:LocalizeDictionary.DesignCulture="zh-CN"
- lex:ResxLocalizationProvider.DefaultAssembly="TeamAAS-VP"
- lex:ResxLocalizationProvider.DefaultDictionary="Lang"
- prism:ViewModelLocator.AutoWireViewModel="True"
- FontFamily="{DynamicResource DefaultFont}"
- mc:Ignorable="d">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Loaded">
- <b:InvokeCommandAction Command="{Binding LoadedCommand}" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- <UserControl.Resources>
- <ObjectDataProvider
- x:Key="eRobotHand"
- MethodName="GetValues"
- ObjectType="{x:Type sys:Enum}">
- <ObjectDataProvider.MethodParameters>
- <x:Type TypeName="enums:RobotHand" />
- </ObjectDataProvider.MethodParameters>
- </ObjectDataProvider>
- <ObjectDataProvider
- x:Key="eMotionCommand"
- MethodName="GetValues"
- ObjectType="{x:Type sys:Enum}">
- <ObjectDataProvider.MethodParameters>
- <x:Type TypeName="enums:MotionCommand" />
- </ObjectDataProvider.MethodParameters>
- </ObjectDataProvider>
- <convert:JogConverter x:Key="JogConverter" />
- <convert:MultiParameterConverter x:Key="MultiParameterConverter" />
- <convert:RobotConverter x:Key="RobotConverter" />
- </UserControl.Resources>
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="auto" />
- <RowDefinition Height="*" />
- <RowDefinition Height="auto" />
- </Grid.RowDefinitions>
- <Button
- Grid.Row="0"
- Width="50"
- HorizontalAlignment="Left"
- VerticalAlignment="Top"
- Command="{Binding BackCommand}"
- Content="{materialDesign:PackIcon Kind=ArrowLeftCircle}"
- Style="{StaticResource MaterialDesignIconButton}"
- ToolTip="{lex:Loc 返回}" />
- <StackPanel
- Grid.Row="0"
- Margin="50,0"
- VerticalAlignment="Center"
- Orientation="Horizontal">
- <materialDesign:PackIcon
- Width="30"
- Height="30"
- Kind="CubeOutline" />
- <TextBlock VerticalAlignment="Center" Text="{Binding SelectProduct.Name}" />
- <TextBlock VerticalAlignment="Center" Text="{lex:Loc 机器人点位, Converter={StaticResource StringFormatConverter}, ConverterParameter=' - {0}'}" />
- </StackPanel>
- <Button
- Grid.Row="0"
- MinWidth="100"
- Margin="5,3"
- HorizontalAlignment="Right"
- VerticalAlignment="Center"
- Command="{Binding DynamicTestAnalyzerCommand}"
- Content="动态精度分析" />
- <Border
- Height="1"
- VerticalAlignment="Bottom"
- BorderThickness="1,1,1,1">
- <Border.BorderBrush>
- <VisualBrush>
- <VisualBrush.Visual>
- <Rectangle
- Width="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualWidth}"
- Height="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualHeight}"
- Stroke="LightGray"
- StrokeDashArray="4 4"
- StrokeThickness="1" />
- </VisualBrush.Visual>
- </VisualBrush>
- </Border.BorderBrush>
- </Border>
- <materialDesign:DrawerHost
- x:Name="DrawerHost"
- Grid.Row="1"
- d:IsLeftDrawerOpen="false"
- IsEnabled="{Binding IsAllowEdit}"
- IsLeftDrawerOpen="{Binding IsLeftDrawerOpen, Mode=TwoWay}"
- OpenMode="Standard">
- <materialDesign:DrawerHost.LeftDrawerContent>
- <Grid Width="600">
- <Grid.RowDefinitions>
- <RowDefinition Height="*" />
- <RowDefinition Height=" auto" />
- </Grid.RowDefinitions>
- <wf:WindowsFormsHost Grid.Row="0" Margin="0,40">
- <vp:CogRecordDisplay x:Name="display" />
- </wf:WindowsFormsHost>
- <StackPanel
- Grid.Row="1"
- HorizontalAlignment="Left"
- VerticalAlignment="Bottom"
- Orientation="Horizontal">
- <TextBlock
- VerticalAlignment="Center"
- FontWeight="Bold"
- Text="{lex:Loc 相机,
- Converter={StaticResource StringFormatConverter},
- ConverterParameter='{}{0}: '}" />
- <ComboBox
- Margin="5,0,10,0"
- materialDesign:HintAssist.Hint="{lex:Loc 选择相机}"
- IsEnabled="{Binding IsGrap, Converter={StaticResource InvertBooleanConverter}}"
- ItemsSource="{Binding CameraList}"
- SelectedItem="{Binding SelectedCamera}">
- <ComboBox.ItemTemplate>
- <DataTemplate>
- <StackPanel Orientation="Horizontal">
- <materialDesign:PackIcon Kind="Camera" />
- <TextBlock Margin="6,0" Text="{Binding CameraName}" />
- </StackPanel>
- </DataTemplate>
- </ComboBox.ItemTemplate>
- </ComboBox>
- <Button
- Grid.Column="0"
- MinWidth="100"
- materialDesign:ButtonAssist.CornerRadius="10"
- Command="{Binding StartGrabbingCommand}"
- Content="{lex:Loc 开始采集}"
- Style="{StaticResource MaterialDesignRaisedButton}" />
- <Button
- Grid.Column="0"
- MinWidth="100"
- Margin="10,0"
- materialDesign:ButtonAssist.CornerRadius="10"
- Command="{Binding StopGrabbingCommand}"
- Content="{lex:Loc 停止采集}"
- IsEnabled="{Binding IsAllowEdit}"
- Style="{StaticResource MaterialDesignRaisedButton}" />
- <TextBlock
- VerticalAlignment="Center"
- Foreground="Gray"
- Text="{Binding Message}" />
- </StackPanel>
- </Grid>
- </materialDesign:DrawerHost.LeftDrawerContent>
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="auto" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <Expander
- Grid.Column="0"
- Background="Transparent"
- ExpandDirection="Right">
- <Expander.Header>
- <TextBlock RenderTransformOrigin=".5,.5" Text="Navigation Description">
- <TextBlock.LayoutTransform>
- <RotateTransform Angle="90" />
- </TextBlock.LayoutTransform>
- </TextBlock>
- </Expander.Header>
- <ScrollViewer>
- <StackPanel Margin="8,24,16,24" Orientation="Vertical">
- <Image
- Width="350"
- HorizontalAlignment="Center"
- VerticalAlignment="Top"
- Source="pack://application:,,,/TeamAAS-VP;component/Resources/Images/9机器人点位.png"
- Stretch="Uniform" />
- <TextBlock Text="{lex:Loc 机器人点位示教}" />
- <TextBlock
- Foreground="Gray"
- Text="{lex:Loc 机器人点位示教描述}"
- TextWrapping="Wrap" />
- </StackPanel>
- </ScrollViewer>
- </Expander>
- <Grid Grid.Column="1">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="auto" />
- </Grid.ColumnDefinitions>
- <DockPanel Grid.Column="0">
- <!-- 选项列表 -->
- <ListBox
- Height="80"
- DockPanel.Dock="Top"
- SelectedIndex="{Binding SelectedIndex}"
- Style="{StaticResource MaterialDesign3.NavigationBarPrimaryListBox}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="SelectionChanged">
- <b:InvokeCommandAction Command="{Binding SelectionChangedCommand}" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- <ListBoxItem>
- <ListBoxItem.Style>
- <Style BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}" TargetType="ListBoxItem">
- <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon" Value="Circle" />
- <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon" Value="CircleOutline" />
- </Style>
- </ListBoxItem.Style>
- <TextBlock Text="{lex:Loc 取料拍照点位}" />
- </ListBoxItem>
- <ListBoxItem>
- <ListBoxItem.Style>
- <Style BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}" TargetType="ListBoxItem">
- <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon" Value="Circle" />
- <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon" Value="CircleOutline" />
- </Style>
- </ListBoxItem.Style>
- <TextBlock Text="{lex:Loc 取料点位}" />
- </ListBoxItem>
- <ListBoxItem>
- <ListBoxItem.Style>
- <Style BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}" TargetType="ListBoxItem">
- <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon" Value="Circle" />
- <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon" Value="CircleOutline" />
- </Style>
- </ListBoxItem.Style>
- <TextBlock Text="{lex:Loc 下相机二次定位点位}" />
- </ListBoxItem>
- <ListBoxItem>
- <ListBoxItem.Style>
- <Style BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}" TargetType="ListBoxItem">
- <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon" Value="Circle" />
- <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon" Value="CircleOutline" />
- </Style>
- </ListBoxItem.Style>
- <TextBlock Text="{lex:Loc 锁附拍照点位}" />
- </ListBoxItem>
- <ListBoxItem>
- <ListBoxItem.Style>
- <Style BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}" TargetType="ListBoxItem">
- <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon" Value="Circle" />
- <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon" Value="CircleOutline" />
- </Style>
- </ListBoxItem.Style>
- <TextBlock Text="{lex:Loc 锁附点位}" />
- </ListBoxItem>
- <ListBoxItem>
- <ListBoxItem.Style>
- <Style BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}" TargetType="ListBoxItem">
- <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon" Value="Circle" />
- <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon" Value="CircleOutline" />
- </Style>
- </ListBoxItem.Style>
- <TextBlock Text="{lex:Loc 复检点位}" />
- </ListBoxItem>
- <ListBoxItem>
- <ListBoxItem.Style>
- <Style BasedOn="{StaticResource MaterialDesign3.NavigationBarPrimaryListBoxItem}" TargetType="ListBoxItem">
- <Setter Property="materialDesign:NavigationBarAssist.SelectedIcon" Value="Circle" />
- <Setter Property="materialDesign:NavigationBarAssist.UnselectedIcon" Value="CircleOutline" />
- </Style>
- </ListBoxItem.Style>
- <TextBlock Text="{lex:Loc 二维码拍照点位}" />
- </ListBoxItem>
- </ListBox>
- <!-- 点位列表操作按钮面板 -->
- <StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal">
- <Button
- MinWidth="80"
- Margin="5,2"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding AddPointCommand}"
- Content="{lex:Loc 添加点}" />
- <Button
- MinWidth="80"
- Margin="5,2"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding DeletePointCommand}"
- Content="{lex:Loc 删除点}" />
- <Button
- MinWidth="80"
- Margin="5,2"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding MovePointUpCommand}"
- Content="{lex:Loc 上移}" />
- <Button
- MinWidth="80"
- Margin="5,2"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding MovePointDownCommand}"
- Content="{lex:Loc 下移}" />
- <!-- 导入/导出点位文件 -->
- <Button
- MinWidth="120"
- Margin="5,2"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding ImportPointsCommand}"
- Content="导入点位文件" />
- <Button
- MinWidth="120"
- Margin="5,2"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding ExportAllPointsCommand}"
- Content="导出所有点位" />
- <Button
- MinWidth="80"
- Margin="5,2"
- d:Visibility="Visible"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding ImportCadPointCommand}"
- Content="{lex:Loc CAD导入点位}">
- <Button.Style>
- <Style BasedOn="{StaticResource MaterialDesignRaisedDarkButton}" TargetType="Button">
- <Setter Property="Visibility" Value="Collapsed" />
- <Style.Triggers>
- <!-- 当 SelectedIndex == 0 时显示此面板 -->
- <DataTrigger Binding="{Binding SelectedIndex}" Value="4">
- <Setter Property="Visibility" Value="Visible" />
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </Button.Style>
- </Button>
- <!-- 设置补偿值 -->
- <Button
- MinWidth="80"
- Margin="5,2"
- d:Visibility="Visible"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding SetOffsetCommand}"
- Content="设置补偿值">
- <!--<Button.Style>
- <Style TargetType="Button"
- BasedOn="{StaticResource MaterialDesignRaisedDarkButton}">
- <Setter Property="Visibility"
- Value="Collapsed" />
- <Style.Triggers>
- -->
- <!-- 当 SelectedIndex == 0 时显示此面板 -->
- <!--
- <DataTrigger Binding="{Binding SelectedIndex}"
- Value="1">
- <Setter Property="Visibility"
- Value="Visible" />
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </Button.Style>-->
- </Button>
- </StackPanel>
- <Border
- Height="1"
- BorderBrush="LightGray"
- BorderThickness="1"
- DockPanel.Dock="Bottom" />
- <DockPanel>
- <!-- 不同点位类型的操作面板 -->
- <StackPanel DockPanel.Dock="Bottom" Orientation="Vertical">
- <!-- 取料拍照点位面板 -->
- <StackPanel
- x:Name="AutoCorrectPickPointPanel"
- d:Visibility="Visible"
- Orientation="Vertical">
- <StackPanel.Style>
- <Style TargetType="StackPanel">
- <Setter Property="Visibility" Value="Collapsed" />
- <Style.Triggers>
- <!-- 当 SelectedIndex == 0 时显示此面板 -->
- <DataTrigger Binding="{Binding SelectedIndex}" Value="0">
- <Setter Property="Visibility" Value="Visible" />
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </StackPanel.Style>
- <StackPanel Orientation="Horizontal">
- <ToggleButton
- x:Name="btn_AutoCorrectPickPoint"
- d:IsChecked="True"
- Style="{StaticResource MaterialDesignSwitchToggleButton}">
- <materialDesign:PackIcon Kind="Pin" RenderTransformOrigin=".5,.5">
- <materialDesign:PackIcon.RenderTransform>
- <RotateTransform Angle="45" />
- </materialDesign:PackIcon.RenderTransform>
- </materialDesign:PackIcon>
- <materialDesign:ToggleButtonAssist.OnContent>
- <materialDesign:PackIcon Kind="Pin" />
- </materialDesign:ToggleButtonAssist.OnContent>
- </ToggleButton>
- <TextBlock
- Margin="0,10,0,5"
- FontWeight="Bold"
- Text="{lex:Loc 通过相机自动矫正取料点位}" />
- </StackPanel>
- <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
- <StackPanel
- HorizontalAlignment="Left"
- Orientation="Horizontal"
- Visibility="{Binding ElementName=btn_AutoCorrectPickPoint, Path=IsChecked, Converter={StaticResource BooleanToVisibilityConverter}}">
- <TextBlock VerticalAlignment="Center" Text="{lex:Loc 选择拍照点}" />
- <ComboBox
- MinWidth="50"
- Margin="5,0,0,0"
- ItemsSource="{Binding Points}"
- SelectedItem="{Binding SelectedCameraForPickPoint}">
- <ComboBox.ItemTemplate>
- <DataTemplate>
- <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
- <TextBlock Text="{Binding Number, StringFormat={}{0}:}" />
- <TextBlock Text="{Binding Label}" />
- </StackPanel>
- </DataTemplate>
- </ComboBox.ItemTemplate>
- </ComboBox>
- <TextBlock
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 选择移动视觉流程}" />
- <ComboBox
- MinWidth="50"
- Margin="5,0,0,0"
- ItemsSource="{Binding ProcedureModels}"
- SelectedItem="{Binding SelectProcedure}">
- <ComboBox.ItemTemplate>
- <DataTemplate>
- <StackPanel Orientation="Horizontal">
- <materialDesign:PackIcon Kind="VideoOutline" />
- <TextBlock Margin="6,0" Text="{Binding CameraName}" />
- <materialDesign:PackIcon Kind="ProgressWrench" />
- <TextBlock Margin="6,0" Text="{Binding Name}" />
- </StackPanel>
- </DataTemplate>
- </ComboBox.ItemTemplate>
- </ComboBox>
- <TextBlock
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 选择要校准的取料位}" />
- <ComboBox
- MinWidth="50"
- Margin="5,0,0,0"
- ItemsSource="{Binding PickPoints}"
- SelectedItem="{Binding SelectedPickPoint}">
- <ComboBox.ItemTemplate>
- <DataTemplate>
- <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
- <TextBlock Text="{Binding Number, StringFormat={}{0}:}" />
- <TextBlock Text="{Binding Label}" />
- </StackPanel>
- </DataTemplate>
- </ComboBox.ItemTemplate>
- </ComboBox>
- <Button
- Margin="10,0,0,0"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding AutoCorrectPickPointCommand}"
- Content="{lex:Loc 执行校准}" />
- </StackPanel>
- </ScrollViewer>
- </StackPanel>
- <!-- 锁付拍照面板 -->
- <StackPanel
- x:Name="LockCameraPanel"
- d:Visibility="Visible"
- Orientation="Vertical">
- <StackPanel.Style>
- <Style TargetType="StackPanel">
- <Setter Property="Visibility" Value="Collapsed" />
- <Style.Triggers>
- <!-- 当 SelectedIndex == 4 时显示此面板 -->
- <DataTrigger Binding="{Binding SelectedIndex}" Value="3">
- <Setter Property="Visibility" Value="Visible" />
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </StackPanel.Style>
- <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
- <StackPanel Orientation="Vertical">
- <TextBlock Text="{lex:Loc 拍1锁多时相机拍照位置对应的产品坐标系中位置}" />
- <Grid HorizontalAlignment="Left">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <!-- 拍照1 -->
- <TextBlock
- Grid.Row="0"
- Grid.Column="0"
- VerticalAlignment="Center"
- Text="{lex:Loc 拍照1}" />
- <TextBlock
- Grid.Row="0"
- Grid.Column="1"
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="X:" />
- <mah:NumericUpDown
- Grid.Row="0"
- Grid.Column="2"
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="0.1"
- Maximum="9999.000"
- Minimum="-9999.000"
- StringFormat="F3"
- Value="{Binding SelectProduct.ScrewCameraLocalPos1.X_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <TextBlock
- Grid.Row="0"
- Grid.Column="3"
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="Y:" />
- <mah:NumericUpDown
- Grid.Row="0"
- Grid.Column="4"
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="0.1"
- Maximum="9999.000"
- Minimum="-9999.000"
- StringFormat="F3"
- Value="{Binding SelectProduct.ScrewCameraLocalPos1.Y_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <TextBlock
- Grid.Row="0"
- Grid.Column="5"
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="Z:" />
- <mah:NumericUpDown
- Grid.Row="0"
- Grid.Column="6"
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="0.1"
- Maximum="9999.000"
- Minimum="-9999.000"
- StringFormat="F3"
- Value="{Binding SelectProduct.ScrewCameraLocalPos1.Z_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <!-- 拍照2 -->
- <TextBlock
- Grid.Row="1"
- Grid.Column="0"
- VerticalAlignment="Center"
- Text="{lex:Loc 拍照2}" />
- <TextBlock
- Grid.Row="1"
- Grid.Column="1"
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="X:" />
- <mah:NumericUpDown
- Grid.Row="1"
- Grid.Column="2"
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="0.1"
- Maximum="9999.000"
- Minimum="-9999.000"
- StringFormat="F3"
- Value="{Binding SelectProduct.ScrewCameraLocalPos2.X_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <TextBlock
- Grid.Row="1"
- Grid.Column="3"
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="Y:" />
- <mah:NumericUpDown
- Grid.Row="1"
- Grid.Column="4"
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="0.1"
- Maximum="9999.000"
- Minimum="-9999.000"
- StringFormat="F3"
- Value="{Binding SelectProduct.ScrewCameraLocalPos2.Y_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <TextBlock
- Grid.Row="1"
- Grid.Column="5"
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="Z:" />
- <mah:NumericUpDown
- Grid.Row="1"
- Grid.Column="6"
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="0.1"
- Maximum="9999.000"
- Minimum="-9999.000"
- StringFormat="F3"
- Value="{Binding SelectProduct.ScrewCameraLocalPos2.Z_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <!-- 通过CAD导入点位按钮 -->
- <Button
- Grid.Row="0"
- Grid.RowSpan="2"
- Grid.Column="7"
- MinWidth="100"
- Margin="10,0"
- HorizontalAlignment="Left"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding ImportCadLockCameraPointCommand}"
- Content="{lex:Loc 通过CAD导入点位}" />
- <!-- 通过相机自动矫正锁附点位 -->
- <Button
- Grid.Row="0"
- Grid.RowSpan="2"
- Grid.Column="8"
- MinWidth="150"
- Margin="10,0"
- HorizontalAlignment="Left"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding AutoCorrectLockPointCommand}"
- Content="{lex:Loc 通过相机自动矫正锁附点位}" />
- <StackPanel
- Grid.Row="2"
- Grid.ColumnSpan="9"
- HorizontalAlignment="Left"
- Orientation="Horizontal">
- <TextBlock VerticalAlignment="Center" Text="{lex:Loc 批量设置所有锁付点的各轴速度}" />
- <TextBlock
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="{lex:Loc X轴速度}" />
- <mah:NumericUpDown
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="20000"
- Minimum="0"
- StringFormat="F1"
- Value="{Binding LockXSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <TextBlock
- Margin="0"
- VerticalAlignment="Center"
- Text="mm/s" />
- <TextBlock
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="{lex:Loc Y轴速度}" />
- <mah:NumericUpDown
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="20000"
- Minimum="0"
- StringFormat="F1"
- Value="{Binding LockYSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <TextBlock
- Margin="0"
- VerticalAlignment="Center"
- Text="mm/s" />
- <TextBlock
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="{lex:Loc Z轴速度}" />
- <mah:NumericUpDown
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="20000"
- Minimum="0"
- StringFormat="F1"
- Value="{Binding LockZSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <TextBlock
- Margin="0"
- VerticalAlignment="Center"
- Text="mm/s" />
- <!-- 应用按钮 -->
- <Button
- MinWidth="60"
- Margin="10,0,0,0"
- HorizontalAlignment="Left"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding ApplyLockPointSpeedCommand}"
- Content="{lex:Loc 应用}" />
- </StackPanel>
- </Grid>
- </StackPanel>
- </ScrollViewer>
- </StackPanel>
- <!-- 锁付点位面板 -->
- <StackPanel
- x:Name="LockPointPanel"
- d:Visibility="Visible"
- Orientation="Vertical">
- <StackPanel.Style>
- <Style TargetType="StackPanel">
- <Setter Property="Visibility" Value="Collapsed" />
- <Style.Triggers>
- <!-- 当 SelectedIndex == 4 时显示此面板 -->
- <DataTrigger Binding="{Binding SelectedIndex}" Value="4">
- <Setter Property="Visibility" Value="Visible" />
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </StackPanel.Style>
- <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
- <StackPanel Orientation="Vertical">
- <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
- <TextBlock VerticalAlignment="Center" Text="{lex:Loc 批量设置所有锁付点的起始Z轴高度}" />
- <TextBlock
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 起始Z轴高度}" />
- <mah:NumericUpDown
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="0.1"
- Maximum="9999.000"
- Minimum="-9999.000"
- StringFormat="F3"
- Value="{Binding LockPointStartZ, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <TextBlock
- Margin="0"
- VerticalAlignment="Center"
- Text="mm" />
- <!-- 应用按钮 -->
- <Button
- MinWidth="60"
- Margin="10,0,0,0"
- HorizontalAlignment="Left"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding ApplyLockPointStartZCommand}"
- Content="{lex:Loc 应用}" />
- </StackPanel>
- <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
- <TextBlock VerticalAlignment="Center" Text="{lex:Loc 批量设置所有锁付点的锁付深度}" />
- <TextBlock
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 锁付深度}" />
- <mah:NumericUpDown
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="0.1"
- Maximum="10.000"
- Minimum="0.000"
- StringFormat="F3"
- Value="{Binding LockZDepth, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <TextBlock
- Margin="0"
- VerticalAlignment="Center"
- Text="mm" />
- <!-- 应用按钮 -->
- <Button
- MinWidth="60"
- Margin="10,0,0,0"
- HorizontalAlignment="Left"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding ApplyLockPointDepthCommand}"
- Content="{lex:Loc 应用}" />
- </StackPanel>
- <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
- <TextBlock VerticalAlignment="Center" Text="{lex:Loc 批量设置所有锁付点的各轴速度}" />
- <TextBlock
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="{lex:Loc X轴速度}" />
- <mah:NumericUpDown
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="20000"
- Minimum="0"
- StringFormat="F1"
- Value="{Binding LockXSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <TextBlock
- Margin="0"
- VerticalAlignment="Center"
- Text="mm/s" />
- <TextBlock
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="{lex:Loc Y轴速度}" />
- <mah:NumericUpDown
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="20000"
- Minimum="0"
- StringFormat="F1"
- Value="{Binding LockYSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <TextBlock
- Margin="0"
- VerticalAlignment="Center"
- Text="mm/s" />
- <TextBlock
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="{lex:Loc Z轴速度}" />
- <mah:NumericUpDown
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="20000"
- Minimum="0"
- StringFormat="F1"
- Value="{Binding LockZSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <TextBlock
- Margin="0"
- VerticalAlignment="Center"
- Text="mm/s" />
- <TextBlock
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="{lex:Loc Z轴锁付下降速度}" />
- <mah:NumericUpDown
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="20000"
- Minimum="0"
- StringFormat="F1"
- Value="{Binding LockZDescendSpeed, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <TextBlock
- Margin="0"
- VerticalAlignment="Center"
- Text="mm/s" />
- <!-- 应用按钮 -->
- <Button
- MinWidth="60"
- Margin="10,0,0,0"
- HorizontalAlignment="Left"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding ApplyLockPointSpeedCommand}"
- Content="{lex:Loc 应用}" />
- </StackPanel>
- <!-- 批量设置所有锁付点的供料器编号和电批程序编号 -->
- <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
- <TextBlock VerticalAlignment="Center" Text="{lex:Loc 批量设置所有锁付点的供料器编号和电批程序编号}" />
- <TextBlock
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 供料器编号}" />
- <mah:NumericUpDown
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="9999"
- Minimum="0"
- StringFormat="F0"
- Value="{Binding LockFeederNumber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <TextBlock
- Margin="5,0,0,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 电批程序编号}" />
- <mah:NumericUpDown
- MinWidth="60"
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="100"
- Minimum="0"
- StringFormat="F0"
- Value="{Binding LockScrewProgramNumber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <!-- 应用按钮 -->
- <Button
- MinWidth="60"
- Margin="10,0,0,0"
- HorizontalAlignment="Left"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding ApplyLockPointFeederAndScrewProgramCommand}"
- Content="{lex:Loc 应用}" />
- </StackPanel>
- </StackPanel>
- </ScrollViewer>
- </StackPanel>
- </StackPanel>
- <!-- 点位表 -->
- <DataGrid
- x:Name="dgPoints"
- AutoGenerateColumns="False"
- CanUserAddRows="False"
- CanUserDeleteRows="False"
- ColumnWidth="*"
- GridLinesVisibility="All"
- HeadersVisibility="Column"
- HorizontalScrollBarVisibility="Auto"
- ItemsSource="{Binding Points}"
- ScrollViewer.CanContentScroll="True"
- ScrollViewer.HorizontalScrollBarVisibility="Auto"
- SelectedItem="{Binding SelectedPointInDataGrid, Mode=TwoWay}"
- SelectionMode="Single"
- SelectionUnit="FullRow"
- VerticalGridLinesBrush="#D0D0D0">
- <DataGrid.Resources>
- <Style TargetType="DataGridCell">
- <Style.Resources>
- <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="#0078D7" />
- </Style.Resources>
- <Setter Property="MinHeight" Value="25" />
- <Setter Property="VerticalContentAlignment" Value="Center" />
- <Setter Property="HorizontalContentAlignment" Value="Center" />
- <Setter Property="VerticalAlignment" Value="Center" />
- <Setter Property="TextBlock.TextAlignment" Value="Center" />
- <Setter Property="Padding" Value="0" />
- <Style.Triggers>
- <Trigger Property="IsSelected" Value="True">
- <Setter Property="Foreground" Value="White" />
- </Trigger>
- </Style.Triggers>
- </Style>
- <!-- 为 TextBlock 添加默认居中样式 -->
- <Style TargetType="TextBlock">
- <Setter Property="TextAlignment" Value="Center" />
- <Setter Property="HorizontalAlignment" Value="Center" />
- <Setter Property="VerticalAlignment" Value="Center" />
- </Style>
- </DataGrid.Resources>
- <DataGrid.Columns>
- <DataGridTextColumn
- Width="Auto"
- MinWidth="60"
- Binding="{Binding Number, Mode=TwoWay, StringFormat={}{0:F0}}"
- Header="{lex:Loc 编号}"
- IsReadOnly="True" />
- <DataGridTextColumn
- Width="Auto"
- MinWidth="100"
- Binding="{Binding Label, Mode=TwoWay}"
- Header="{lex:Loc 标签}" />
- <!-- X 坐标 -->
- <DataGridTemplateColumn
- Width="Auto"
- MinWidth="60"
- Header="X位置">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding X_Position, StringFormat={}{0:F3}}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- <DataGridTemplateColumn.CellEditingTemplate>
- <DataTemplate>
- <mah:NumericUpDown
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="0.1"
- Maximum="9999.000"
- Minimum="-9999.000"
- StringFormat="F3"
- Value="{Binding X_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellEditingTemplate>
- </DataGridTemplateColumn>
- <!-- X 速度 -->
- <DataGridTemplateColumn
- Width="Auto"
- MinWidth="60"
- Header="{lex:Loc X速度}">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding X_Velocity, StringFormat={}{0:F0}}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- <DataGridTemplateColumn.CellEditingTemplate>
- <DataTemplate>
- <mah:NumericUpDown
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="9999.000"
- Minimum="0"
- StringFormat="F3"
- Value="{Binding X_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellEditingTemplate>
- </DataGridTemplateColumn>
- <!-- Y 坐标 -->
- <DataGridTemplateColumn
- Width="Auto"
- MinWidth="60"
- Header="{lex:Loc Y位置}">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding Y_Position, StringFormat={}{0:F3}}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- <DataGridTemplateColumn.CellEditingTemplate>
- <DataTemplate>
- <mah:NumericUpDown
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="0.1"
- Maximum="9999.000"
- Minimum="-9999.000"
- StringFormat="F3"
- Value="{Binding Y_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellEditingTemplate>
- </DataGridTemplateColumn>
- <!-- Y 速度 -->
- <DataGridTemplateColumn
- Width="Auto"
- MinWidth="60"
- Header="{lex:Loc Y速度}">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding Y_Velocity, StringFormat={}{0:F0}}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- <DataGridTemplateColumn.CellEditingTemplate>
- <DataTemplate>
- <mah:NumericUpDown
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="9999.000"
- Minimum="0"
- StringFormat="F3"
- Value="{Binding Y_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellEditingTemplate>
- </DataGridTemplateColumn>
- <!-- Z 起点坐标 -->
- <DataGridTemplateColumn
- Width="Auto"
- MinWidth="60"
- Header="{lex:Loc Z起点位置}">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding Z_Position_Start, StringFormat={}{0:F3}}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- <DataGridTemplateColumn.CellEditingTemplate>
- <DataTemplate>
- <mah:NumericUpDown
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="0.1"
- Maximum="9999.000"
- Minimum="-9999.000"
- StringFormat="F3"
- Value="{Binding Z_Position_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellEditingTemplate>
- </DataGridTemplateColumn>
- <!-- Z 起点速度 -->
- <DataGridTemplateColumn
- Width="Auto"
- MinWidth="60"
- Header="{lex:Loc Z起点速度}">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding Z_Velocity_Start, StringFormat={}{0:F0}}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- <DataGridTemplateColumn.CellEditingTemplate>
- <DataTemplate>
- <mah:NumericUpDown
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="9999.000"
- Minimum="0"
- StringFormat="F3"
- Value="{Binding Z_Velocity_Start, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellEditingTemplate>
- </DataGridTemplateColumn>
- <!-- Z 终点坐标 -->
- <DataGridTemplateColumn
- Width="Auto"
- MinWidth="60"
- Header="{lex:Loc Z终点位置}">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding Z_Position_Stop, StringFormat={}{0:F3}}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- <DataGridTemplateColumn.CellEditingTemplate>
- <DataTemplate>
- <mah:NumericUpDown
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="0.1"
- Maximum="9999.000"
- Minimum="-9999.000"
- StringFormat="F3"
- Value="{Binding Z_Position_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellEditingTemplate>
- </DataGridTemplateColumn>
- <!-- Z 终点速度 -->
- <DataGridTemplateColumn
- Width="Auto"
- MinWidth="60"
- Header="{lex:Loc Z终点速度}">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding Z_Velocity_Stop, StringFormat={}{0:F0}}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- <DataGridTemplateColumn.CellEditingTemplate>
- <DataTemplate>
- <mah:NumericUpDown
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="9999.000"
- Minimum="0"
- StringFormat="F3"
- Value="{Binding Z_Velocity_Stop, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellEditingTemplate>
- </DataGridTemplateColumn>
- <!-- U 坐标 -->
- <DataGridTemplateColumn
- Width="Auto"
- MinWidth="60"
- Header="{lex:Loc U位置}">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding U_Position, StringFormat={}{0:F3}}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- <DataGridTemplateColumn.CellEditingTemplate>
- <DataTemplate>
- <mah:NumericUpDown
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="0.1"
- Maximum="9999.000"
- Minimum="-9999.000"
- StringFormat="F3"
- Value="{Binding U_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellEditingTemplate>
- </DataGridTemplateColumn>
- <!-- U 速度 -->
- <DataGridTemplateColumn
- Width="Auto"
- MinWidth="60"
- Header="{lex:Loc U速度}">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding U_Velocity, StringFormat={}{0:F0}}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- <DataGridTemplateColumn.CellEditingTemplate>
- <DataTemplate>
- <mah:NumericUpDown
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="9999.000"
- Minimum="0"
- StringFormat="F3"
- Value="{Binding U_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellEditingTemplate>
- </DataGridTemplateColumn>
- <!-- R 坐标 -->
- <DataGridTemplateColumn
- Width="Auto"
- MinWidth="60"
- Header="{lex:Loc R位置}">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding R_Position, StringFormat={}{0:F3}}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- <DataGridTemplateColumn.CellEditingTemplate>
- <DataTemplate>
- <mah:NumericUpDown
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="0.1"
- Maximum="9999.000"
- Minimum="-9999.000"
- StringFormat="F3"
- Value="{Binding R_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellEditingTemplate>
- </DataGridTemplateColumn>
- <!-- R 速度 -->
- <DataGridTemplateColumn
- Width="Auto"
- MinWidth="60"
- Header="{lex:Loc R速度}">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding R_Velocity, StringFormat={}{0:F0}}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- <DataGridTemplateColumn.CellEditingTemplate>
- <DataTemplate>
- <mah:NumericUpDown
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="9999.000"
- Minimum="0"
- StringFormat="F3"
- Value="{Binding R_Velocity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellEditingTemplate>
- </DataGridTemplateColumn>
- <!-- 扭矩 -->
- <DataGridTemplateColumn
- Width="Auto"
- MinWidth="60"
- Header="{lex:Loc 扭矩}">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding Torque, StringFormat={}{0:F3}}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- <DataGridTemplateColumn.CellEditingTemplate>
- <DataTemplate>
- <mah:NumericUpDown
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="0.1"
- Maximum="9999.000"
- Minimum="-9999.000"
- StringFormat="F3"
- Value="{Binding Torque, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellEditingTemplate>
- </DataGridTemplateColumn>
- <!-- 供料器 -->
- <DataGridTemplateColumn
- Width="Auto"
- MinWidth="60"
- Header="{lex:Loc 供料器}">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding Feeder, StringFormat={}{0:F0}}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- <DataGridTemplateColumn.CellEditingTemplate>
- <DataTemplate>
- <mah:NumericUpDown
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="9999.000"
- Minimum="0"
- StringFormat="F0"
- Value="{Binding Feeder, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellEditingTemplate>
- </DataGridTemplateColumn>
- <!-- 电批程序号 -->
- <DataGridTemplateColumn
- Width="Auto"
- MinWidth="60"
- Header="{lex:Loc 电批程序号}">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding ScrewProNum, StringFormat={}{0:F0}}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- <DataGridTemplateColumn.CellEditingTemplate>
- <DataTemplate>
- <mah:NumericUpDown
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="9999.000"
- Minimum="0"
- StringFormat="F0"
- Value="{Binding ScrewProNum, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellEditingTemplate>
- </DataGridTemplateColumn>
- <!-- 视觉流程 -->
- <DataGridTemplateColumn
- x:Name="colProcedure"
- Width="Auto"
- MinWidth="60"
- Header="视觉流程">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <ComboBox
- MinWidth="50"
- Margin="5,0,0,0"
- ItemsSource="{Binding DataContext.ProcedureModels, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- SelectedValue="{Binding VisionProcessID, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
- SelectedValuePath="Id"
- SelectionChanged="ProcedureCombo_SelectionChanged">
- <ComboBox.ItemTemplate>
- <DataTemplate>
- <StackPanel Orientation="Horizontal">
- <materialDesign:PackIcon Kind="VideoOutline" />
- <TextBlock Margin="6,0" Text="{Binding CameraName}" />
- <materialDesign:PackIcon Kind="ProgressWrench" />
- <TextBlock Margin="6,0" Text="{Binding Name}" />
- </StackPanel>
- </DataTemplate>
- </ComboBox.ItemTemplate>
- </ComboBox>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- <DataGridTemplateColumn
- x:Name="colIsUse"
- Width="Auto"
- MinWidth="60"
- Header="是否启用">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <CheckBox
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- IsChecked="{Binding IsUse, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- <!-- 是否需要取螺丝 -->
- <DataGridTemplateColumn
- x:Name="colPickScrew"
- Width="Auto"
- MinWidth="60"
- Header="是否取螺丝">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding PickScrew, StringFormat={}{0:F0}}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- <DataGridTemplateColumn.CellEditingTemplate>
- <DataTemplate>
- <mah:NumericUpDown
- Margin="0"
- Padding="2"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center"
- Interval="1"
- Maximum="1"
- Minimum="0"
- StringFormat="F0"
- Value="{Binding PickScrew, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- </DataTemplate>
- </DataGridTemplateColumn.CellEditingTemplate>
- </DataGridTemplateColumn>
- <DataGridTextColumn
- Width="200"
- MinWidth="100"
- Binding="{Binding Description, Mode=TwoWay}"
- Header="{lex:Loc 描述}" />
- </DataGrid.Columns>
- </DataGrid>
- </DockPanel>
- </DockPanel>
- <GridSplitter
- Grid.Row="0"
- Grid.RowSpan="2"
- Grid.Column="0"
- Width="2"
- HorizontalAlignment="Right"
- VerticalAlignment="Stretch"
- Background="DeepSkyBlue" />
- <!-- 运动控制区 -->
- <Viewbox Grid.Column="1">
- <Grid Grid.Row="1">
- <Grid.RowDefinitions>
- <RowDefinition Height="auto" />
- <RowDefinition Height="auto" />
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="auto" />
- <ColumnDefinition Width="auto" />
- </Grid.ColumnDefinitions>
- <ToggleButton
- Grid.ColumnSpan="2"
- Margin="5,0"
- HorizontalAlignment="Left"
- VerticalAlignment="Top"
- materialDesign:ToggleButtonAssist.OnContent="{materialDesign:PackIcon Kind=ArrowLeft}"
- Content="{materialDesign:PackIcon Kind=Camera}"
- IsChecked="{Binding IsLeftDrawerOpen, ElementName=DrawerHost}"
- Style="{StaticResource MaterialDesignActionToggleButton}"
- ToolTip="{lex:Loc 相机图像}" />
- <StackPanel
- Grid.Row="0"
- Grid.ColumnSpan="2"
- Margin="58,0,5,10"
- HorizontalAlignment="Left"
- Orientation="Horizontal">
- <GroupBox
- MinWidth="230"
- Margin="0,0,10,0"
- Padding="10"
- Header="接料模组1">
- <StackPanel Orientation="Vertical">
- <TextBlock
- Margin="0,0,0,5"
- HorizontalAlignment="Left"
- Text="W终点位置" />
- <mah:NumericUpDown
- MinWidth="110"
- Margin="0,0,0,8"
- Padding="2"
- HorizontalAlignment="Stretch"
- Interval="0.1"
- Maximum="9999"
- Minimum="-9999"
- StringFormat="F3"
- Value="{Binding SelectProduct.RobotPoint.W_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
- <Button
- MinWidth="70"
- Margin="0,0,8,0"
- materialDesign:ButtonAssist.CornerRadius="8"
- Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=W-}"
- Style="{StaticResource MaterialDesignRaisedDarkButton}">
- <StackPanel Orientation="Vertical">
- <materialDesign:PackIcon
- Width="26"
- Height="26"
- Kind="ArrowLeftBold" />
- <TextBlock HorizontalAlignment="Center" Text="-W" />
- </StackPanel>
- </Button>
- <Button
- MinWidth="70"
- materialDesign:ButtonAssist.CornerRadius="8"
- Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=W+}"
- Style="{StaticResource MaterialDesignRaisedDarkButton}">
- <StackPanel Orientation="Vertical">
- <materialDesign:PackIcon
- Width="26"
- Height="26"
- Kind="ArrowRightBold" />
- <TextBlock HorizontalAlignment="Center" Text="+X" />
- </StackPanel>
- </Button>
- </StackPanel>
- </StackPanel>
- </GroupBox>
- <GroupBox
- MinWidth="230"
- Padding="10"
- Header="接料模组2">
- <StackPanel Orientation="Vertical">
- <TextBlock
- Margin="0,0,0,5"
- HorizontalAlignment="Left"
- Text="V终点位置" />
- <mah:NumericUpDown
- MinWidth="110"
- Margin="0,0,0,8"
- Padding="2"
- HorizontalAlignment="Stretch"
- Interval="0.1"
- Maximum="9999"
- Minimum="-9999"
- StringFormat="F3"
- Value="{Binding SelectProduct.RobotPoint.V_Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
- <StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
- <Button
- MinWidth="70"
- Margin="0,0,8,0"
- materialDesign:ButtonAssist.CornerRadius="8"
- Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=V-}"
- Style="{StaticResource MaterialDesignRaisedDarkButton}">
- <StackPanel Orientation="Vertical">
- <materialDesign:PackIcon
- Width="26"
- Height="26"
- Kind="ArrowLeftBold" />
- <TextBlock HorizontalAlignment="Center" Text="-X" />
- </StackPanel>
- </Button>
- <Button
- MinWidth="70"
- materialDesign:ButtonAssist.CornerRadius="8"
- Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=V+}"
- Style="{StaticResource MaterialDesignRaisedDarkButton}">
- <StackPanel Orientation="Vertical">
- <materialDesign:PackIcon
- Width="26"
- Height="26"
- Kind="ArrowRightBold" />
- <TextBlock HorizontalAlignment="Center" Text="+X" />
- </StackPanel>
- </Button>
- </StackPanel>
- </StackPanel>
- </GroupBox>
- </StackPanel>
- <Grid
- Grid.Row="1"
- Grid.Column="0"
- VerticalAlignment="Center">
- <Grid.RowDefinitions>
- <RowDefinition Height="auto" />
- <RowDefinition Height="auto" />
- <RowDefinition Height="auto" />
- <RowDefinition Height="auto" />
- <RowDefinition Height="auto" />
- </Grid.RowDefinitions>
- <Button
- Grid.Row="0"
- materialDesign:ButtonAssist.CornerRadius="10"
- Command="{Binding DataContext.MotorCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- CommandParameter="True"
- Content="{lex:Loc 上使能}"
- Style="{StaticResource MaterialDesignRaisedDarkButton}" />
- <Button
- Grid.Row="1"
- Margin="0,10,0,10"
- materialDesign:ButtonAssist.CornerRadius="10"
- Command="{Binding DataContext.MotorCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- CommandParameter="False"
- Content="{lex:Loc 下使能}"
- Style="{StaticResource MaterialDesignRaisedDarkButton}" />
- <Button
- Grid.Row="2"
- materialDesign:ButtonAssist.CornerRadius="10"
- Command="{Binding DataContext.ResetCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- Content="{lex:Loc 复位错误}"
- Style="{StaticResource MaterialDesignRaisedDarkButton}" />
- <Button
- Grid.Row="3"
- Margin="0,10,0,10"
- materialDesign:ButtonAssist.CornerRadius="10"
- Command="{Binding DataContext.sFreeCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- Content="{lex:Loc 释放刹车}"
- Style="{StaticResource MaterialDesignRaisedDarkButton}" />
- <Button
- Grid.Row="4"
- materialDesign:ButtonAssist.CornerRadius="10"
- Command="{Binding DataContext.SLockCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- Content="{lex:Loc 锁定刹车}"
- Style="{StaticResource MaterialDesignRaisedDarkButton}" />
- </Grid>
- <Grid Grid.Row="1" Grid.Column="1">
- <Grid.RowDefinitions>
- <RowDefinition Height="auto" />
- <RowDefinition Height="*" />
- </Grid.RowDefinitions>
- <TextBlock Margin="10,0" VerticalAlignment="Center">
- <TextBlock.Text>
- <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">
- <Binding Path="Robot.CurrentPosition.X" />
- <Binding Path="Robot.CurrentPosition.Y" />
- <Binding Path="Robot.CurrentPosition.Z" />
- <Binding Path="Robot.CurrentPosition.U" />
- <Binding Path="Robot.CurrentPosition.R" />
- <Binding Path="Robot.CurrentPosition.W" />
- <Binding Path="Robot.CurrentPosition.V" />
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- <Grid Grid.Row="1">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="auto" />
- <ColumnDefinition Width="auto" />
- <ColumnDefinition Width="auto" />
- <ColumnDefinition Width="auto" />
- <ColumnDefinition Width="auto" />
- <ColumnDefinition Width="auto" />
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition Height="auto" />
- <RowDefinition Height="auto" />
- <RowDefinition Height="auto" />
- <RowDefinition Height="auto" />
- <RowDefinition Height="auto" />
- <RowDefinition Height="auto" />
- </Grid.RowDefinitions>
- <Grid.Resources>
- <Style BasedOn="{StaticResource MaterialDesignRaisedDarkButton}" TargetType="Button">
- <Setter Property="Width" Value="60" />
- <Setter Property="Height" Value="60" />
- <Setter Property="FontSize" Value="13" />
- <Setter Property="Padding" Value="0" />
- <Setter Property="HorizontalAlignment" Value="Center" />
- <Setter Property="VerticalAlignment" Value="Center" />
- <Setter Property="Margin" Value="2" />
- <Setter Property="materialDesign:ButtonAssist.CornerRadius" Value="10" />
- </Style>
- </Grid.Resources>
- <Button
- x:Name="btn_x"
- Grid.Row="1"
- Grid.Column="0"
- Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=X-}">
- <StackPanel Orientation="Vertical">
- <materialDesign:PackIcon
- Width="26"
- Height="26"
- Kind="ArrowLeftBold" />
- <TextBlock HorizontalAlignment="Center" Text="-X" />
- </StackPanel>
- </Button>
- <Button
- Grid.Row="1"
- Grid.Column="2"
- Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=X+}">
- <StackPanel Orientation="Vertical">
- <materialDesign:PackIcon
- Width="26"
- Height="26"
- Kind="ArrowRightBold" />
- <TextBlock HorizontalAlignment="Center" Text="+X" />
- </StackPanel>
- </Button>
- <Button
- Grid.Row="0"
- Grid.Column="1"
- Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=Y+}">
- <StackPanel Orientation="Vertical">
- <materialDesign:PackIcon
- Width="26"
- Height="26"
- Kind="ArrowTopBold" />
- <TextBlock HorizontalAlignment="Center" Text="+Y" />
- </StackPanel>
- </Button>
- <Button
- Grid.Row="2"
- Grid.Column="1"
- Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=Y-}">
- <StackPanel Orientation="Vertical">
- <materialDesign:PackIcon
- Width="26"
- Height="26"
- Kind="ArrowBottomBold" />
- <TextBlock HorizontalAlignment="Center" Text="-Y" />
- </StackPanel>
- </Button>
- <Button
- Grid.Row="0"
- Grid.Column="3"
- Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=Z+}">
- <StackPanel Orientation="Vertical">
- <materialDesign:PackIcon
- Width="26"
- Height="26"
- Kind="ArrowTopBold" />
- <TextBlock HorizontalAlignment="Center" Text="+Z" />
- </StackPanel>
- </Button>
- <Button
- Grid.Row="2"
- Grid.Column="3"
- Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=Z-}">
- <StackPanel Orientation="Vertical">
- <materialDesign:PackIcon
- Width="26"
- Height="26"
- Kind="ArrowBottomBold" />
- <TextBlock HorizontalAlignment="Center" Text="-Z" />
- </StackPanel>
- </Button>
- <Button
- Grid.Row="3"
- Grid.Column="0"
- Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=U+}">
- <StackPanel Orientation="Vertical">
- <materialDesign:PackIcon
- Width="26"
- Height="26"
- Kind="AxisZRotateCounterclockwise" />
- <TextBlock HorizontalAlignment="Center" Text="+U" />
- </StackPanel>
- </Button>
- <Button
- Grid.Row="4"
- Grid.Column="0"
- Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=U-}">
- <StackPanel Orientation="Vertical">
- <materialDesign:PackIcon
- Width="26"
- Height="26"
- Kind="AxisZRotateClockwise" />
- <TextBlock HorizontalAlignment="Center" Text="-U" />
- </StackPanel>
- </Button>
- <Button
- Grid.Row="3"
- Grid.Column="1"
- Grid.ColumnSpan="2"
- Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=R+}">
- <StackPanel Orientation="Vertical">
- <materialDesign:PackIcon
- Width="26"
- Height="26"
- Kind="AxisZRotateCounterclockwise" />
- <TextBlock HorizontalAlignment="Center" Text="+R" />
- </StackPanel>
- </Button>
- <Button
- Grid.Row="4"
- Grid.Column="1"
- Grid.ColumnSpan="2"
- Command="{Binding DataContext.JogCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- CommandParameter="{Binding ElementName=txtDistance, Path=Value, Converter={StaticResource JogConverter}, ConverterParameter=R-}">
- <StackPanel Orientation="Vertical">
- <materialDesign:PackIcon
- Width="26"
- Height="26"
- Kind="AxisZRotateClockwise" />
- <TextBlock HorizontalAlignment="Center" Text="-R" />
- </StackPanel>
- </Button>
- <Grid
- Grid.Row="5"
- Grid.ColumnSpan="7"
- Margin="10">
- <Grid.RowDefinitions>
- <RowDefinition Height="auto" />
- <RowDefinition Height="auto" />
- <RowDefinition Height="auto" />
- <RowDefinition Height="auto" />
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="auto" />
- <ColumnDefinition Width="auto" />
- <ColumnDefinition Width="auto" />
- </Grid.ColumnDefinitions>
- <TextBlock
- Grid.Row="0"
- Grid.Column="0"
- Margin="10"
- HorizontalAlignment="Right"
- VerticalAlignment="Center"
- Text="{lex:Loc 步进距离,
- Converter={StaticResource StringFormatConverter},
- ConverterParameter='{}{0}: '}" />
- <uControl:myNumericUpDowm
- x:Name="txtDistance"
- Grid.Row="0"
- Grid.Column="1"
- MinWidth="100"
- Margin="10"
- materialDesign:HintAssist.Hint="{lex:Loc 步进距离}"
- Interval="0.1"
- Maximum="100"
- Minimum="0"
- StringFormat="{}{0:N3} mm"
- Value="{Binding DataContext.Distance, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}, Mode=TwoWay}" />
- <TextBlock
- Grid.Row="1"
- Grid.Column="0"
- Margin="10"
- VerticalAlignment="Center"
- Text="{lex:Loc 点编号,
- Converter={StaticResource StringFormatConverter},
- ConverterParameter='{}{0}: '}" />
- <ComboBox
- x:Name="cmbSelectPoint"
- Grid.Row="2"
- Grid.Column="0"
- MinWidth="80"
- Margin="10,5"
- materialDesign:HintAssist.Hint="{lex:Loc 选择点}"
- ItemsSource="{Binding Points}"
- SelectedItem="{Binding SelectedPointInComboBox, Mode=TwoWay}">
- <ComboBox.ItemTemplate>
- <DataTemplate>
- <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
- <TextBlock Text="{Binding Number, StringFormat={}{0}:}" />
- <TextBlock Text="{Binding Label}" />
- </StackPanel>
- </DataTemplate>
- </ComboBox.ItemTemplate>
- </ComboBox>
- <TextBlock
- Grid.Row="1"
- Grid.Column="1"
- Margin="10"
- VerticalAlignment="Center"
- Text="{lex:Loc 动作指令,
- Converter={StaticResource StringFormatConverter},
- ConverterParameter='{}{0}: '}" />
- <ComboBox
- x:Name="cmbSelectMotioncmd"
- Grid.Row="2"
- Grid.Column="1"
- MinWidth="80"
- Margin="10,5"
- materialDesign:HintAssist.Hint="{lex:Loc 动作指令}"
- ItemsSource="{ext:EnumBindingSource EnumType=enums:MotionCommand}"
- SelectedItem="{Binding DataContext.SelectMotionCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
- <Button
- Grid.Row="2"
- Grid.Column="2"
- Margin="2"
- Command="{Binding DataContext.ExecuteMotion, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- Content="{lex:Loc 执行动作}">
- <Button.CommandParameter>
- <MultiBinding Converter="{StaticResource MultiParameterConverter}">
- <Binding ElementName="cmbSelectPoint" Path="SelectedItem" />
- <Binding ElementName="cmbSelectMotioncmd" Path="SelectedItem" />
- </MultiBinding>
- </Button.CommandParameter>
- </Button>
- <Button
- Grid.Row="3"
- Grid.Column="0"
- Margin="2"
- HorizontalAlignment="Right"
- Command="{Binding DataContext.TechPointCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
- Content="{lex:Loc 示教}" />
- <!--<ToggleButton Grid.Row="3"
- Grid.Column="2"
- HorizontalAlignment="Right"
- VerticalAlignment="Center"
- Visibility="{Binding IsHaveRobot,Converter={StaticResource BooleanToVisibilityConverter}}"
- materialDesign:ToggleButtonAssist.OnContent="{materialDesign:PackIcon Kind=ArrowRight}"
- Content="{materialDesign:PackIcon Kind=ProgressWrench}"
- Style="{StaticResource MaterialDesignActionToggleButton}"
- ToolTip="{lex:Loc 手动验证流程}"
- Margin="5,0"
- IsChecked="{Binding IsRightDrawerOpen,ElementName=DrawerHost}" />-->
- </Grid>
- </Grid>
- </Grid>
- </Grid>
- </Viewbox>
- </Grid>
- </Grid>
- </materialDesign:DrawerHost>
- <StackPanel
- Grid.Row="2"
- Margin="20"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Orientation="Horizontal">
- <Button
- MinWidth="100"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- materialDesign:ButtonAssist.CornerRadius="10"
- Command="{Binding NextCommand}"
- Content="{lex:Loc 下一步}"
- IsEnabled="{Binding IsAllowEdit}"
- Style="{StaticResource MaterialDesignRaisedButton}" />
- </StackPanel>
- </Grid>
- </UserControl>
|