RobotCycleView.xaml 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <UserControl x:Class="PunkHPX8_MainPages.Views.RobotCycleView"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:PunkHPX8_MainPages.Views"
  7. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  8. xmlns:prism="http://prismlibrary.com/"
  9. xmlns:customControls="clr-namespace:PunkHPX8_Themes.CustomControls;assembly=PunkHPX8_Themes"
  10. xmlns:unity="clr-namespace:PunkHPX8_MainPages.Unity"
  11. xmlns:Converters="clr-namespace:PunkHPX8_Themes.Converters;assembly=PunkHPX8_Themes"
  12. prism:ViewModelLocator.AutoWireViewModel="True"
  13. mc:Ignorable="d"
  14. d:DesignHeight="1000" d:DesignWidth="2000">
  15. <Canvas>
  16. <Grid Margin="10">
  17. <Grid.RowDefinitions>
  18. <RowDefinition Height="Auto"/>
  19. <RowDefinition Height="*"/>
  20. <RowDefinition Height="Auto"/>
  21. </Grid.RowDefinitions>
  22. <!-- 位置列表(可重新排序) -->
  23. <GroupBox Grid.Row="0" Header="Robot Cycle List" Margin="0,0,0,10">
  24. <ListView x:Name="PositionListView" ItemsSource="{Binding Positions}">
  25. <ListView.View>
  26. <GridView>
  27. <GridViewColumn Header="ModuleType" Width="120" DisplayMemberBinding="{Binding ModuleType}"/>
  28. <GridViewColumn Header="ModuleName" Width="140" DisplayMemberBinding="{Binding ModuleName}"/>
  29. <GridViewColumn Header="Paramater" Width="120" DisplayMemberBinding="{Binding Parameter}"/>
  30. <GridViewColumn Header="RobotHand" Width="120" DisplayMemberBinding="{Binding RobotHand}"/>
  31. <GridViewColumn Header="PickDirection" Width="120" DisplayMemberBinding="{Binding PickRobotFlip}"/>
  32. <GridViewColumn Header="PlaceDirection" Width="120" DisplayMemberBinding="{Binding PlaceRobotFlip}"/>
  33. <GridViewColumn Header="Destination" Width="120" DisplayMemberBinding="{Binding Destination}"/>
  34. <!-- 新增的操作按钮列 -->
  35. <GridViewColumn Header="Operation" Width="220">
  36. <GridViewColumn.CellTemplate>
  37. <DataTemplate>
  38. <StackPanel Orientation="Horizontal" Margin="2,0">
  39. <!-- 上移按钮 -->
  40. <Button Content="MoveUp"
  41. Command="{Binding DataContext.MoveUpCommand,
  42. RelativeSource={RelativeSource AncestorType=ListView}}"
  43. CommandParameter="{Binding}"
  44. Width="60" Margin="2,0"/>
  45. <Button Content="MoveDown"
  46. Command="{Binding DataContext.MoveDownCommand,
  47. RelativeSource={RelativeSource AncestorType=ListView}}"
  48. CommandParameter="{Binding}"
  49. Width="70" Margin="2,0"/>
  50. <Button Content="Delete"
  51. Command="{Binding DataContext.RemoveCommand,
  52. RelativeSource={RelativeSource AncestorType=ListView}}"
  53. CommandParameter="{Binding}"
  54. Width="60" Margin="2,0"
  55. Background="#FFE53935" Foreground="White"/>
  56. </StackPanel>
  57. </DataTemplate>
  58. </GridViewColumn.CellTemplate>
  59. </GridViewColumn>
  60. </GridView>
  61. </ListView.View>
  62. </ListView>
  63. </GroupBox>
  64. <!-- 添加新位置 -->
  65. <GroupBox Grid.Row="1" Header="Add Position" Margin="0,0,0,10">
  66. <Grid>
  67. <Grid.ColumnDefinitions>
  68. <ColumnDefinition Width="120"/>
  69. <ColumnDefinition Width="120"/>
  70. <ColumnDefinition Width="120"/>
  71. <ColumnDefinition Width="120"/>
  72. <ColumnDefinition Width="120"/>
  73. <ColumnDefinition Width="120"/>
  74. <ColumnDefinition Width="60"/>
  75. <ColumnDefinition Width="Auto"/>
  76. </Grid.ColumnDefinitions>
  77. <Grid.RowDefinitions>
  78. <RowDefinition Height="Auto"/>
  79. <RowDefinition Height="Auto"/>
  80. <RowDefinition Height="Auto"/>
  81. </Grid.RowDefinitions>
  82. <ComboBox Grid.Column="0" Grid.Row="0" Margin="5,5,5,5"
  83. ItemsSource="{Binding PositionTypes}"
  84. SelectedItem="{Binding SelectedPositionType}"/>
  85. <ComboBox Grid.Column="1" Grid.Row="0" Margin="5,5,5,5"
  86. ItemsSource="{Binding AvailableSelections}"
  87. SelectedItem="{Binding SelectedSelection}" />
  88. <TextBox Grid.Column="2" Grid.Row="0" Margin="5,5,5,5" IsEnabled="{Binding IsInputParameterEnable}"
  89. Text="{Binding Parameter,Mode=TwoWay}"/>
  90. <ComboBox Grid.Column="3" Grid.Row="0" Margin="5,5,5,5"
  91. ItemsSource="{Binding HandsTypes}"
  92. SelectedItem="{Binding RobotHand,Mode=TwoWay}"/>
  93. <ComboBox Grid.Column="4" Grid.Row="0" Margin="5,5,5,5"
  94. ItemsSource="{Binding FlipTypes}"
  95. SelectedItem="{Binding PickRobotFlip,Mode=TwoWay}"/>
  96. <ComboBox Grid.Column="5" Grid.Row="0" Margin="5,5,5,5"
  97. ItemsSource="{Binding FlipTypes}"
  98. SelectedItem="{Binding PlaceRobotFlip,Mode=TwoWay}"/>
  99. <Button Grid.Column="6" Grid.Row="0" Margin="5,5,5,5"
  100. Content="Add" Command="{Binding AddPositionCommand}"/>
  101. <TextBlock Grid.Column="0" Grid.Row="1" Text="Input CycleTimes:" Margin="5,5,5,5"/>
  102. <TextBox Grid.Column="1" Grid.Row="1" Margin="5,5,5,5" HorizontalAlignment="Center" Width="50" HorizontalContentAlignment="Center"
  103. Text="{Binding InPutCycleTimes,Mode=TwoWay}"/>
  104. <TextBlock Grid.Column="0" Grid.Row="2" Text="Current cycle:" Margin="5,5,5,5"/>
  105. <TextBlock Grid.Column="1" Grid.Row="2" Margin="5,5,5,5" HorizontalAlignment="Center"
  106. Text="{Binding CurrentCycle}"/>
  107. </Grid>
  108. </GroupBox>
  109. <!-- 控制按钮 -->
  110. <StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Right">
  111. <Button Content="Confirm" Width="80" Height="30" Margin="5"
  112. Command="{Binding RobotCycleConfirmCommand}"/>
  113. <Button Content="Start" Width="80" Height="30" Margin="5"
  114. Command="{Binding RobotCycleStartCommand}"/>
  115. <Button Content="Abort" Width="80" Height="30" Margin="5"
  116. Command="{Binding RobotCycleAbortCommand}"/>
  117. </StackPanel>
  118. </Grid>
  119. </Canvas>
  120. </UserControl>