RobotCycleView.xaml 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  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="120" 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. <!-- 新增的操作按钮列 -->
  34. <GridViewColumn Header="Operation" Width="220">
  35. <GridViewColumn.CellTemplate>
  36. <DataTemplate>
  37. <StackPanel Orientation="Horizontal" Margin="2,0">
  38. <!-- 上移按钮 -->
  39. <Button Content="MoveUp"
  40. Command="{Binding DataContext.MoveUpCommand,
  41. RelativeSource={RelativeSource AncestorType=ListView}}"
  42. CommandParameter="{Binding}"
  43. Width="60" Margin="2,0"/>
  44. <Button Content="MoveDown"
  45. Command="{Binding DataContext.MoveDownCommand,
  46. RelativeSource={RelativeSource AncestorType=ListView}}"
  47. CommandParameter="{Binding}"
  48. Width="70" Margin="2,0"/>
  49. <Button Content="Delete"
  50. Command="{Binding DataContext.RemoveCommand,
  51. RelativeSource={RelativeSource AncestorType=ListView}}"
  52. CommandParameter="{Binding}"
  53. Width="60" Margin="2,0"
  54. Background="#FFE53935" Foreground="White"/>
  55. </StackPanel>
  56. </DataTemplate>
  57. </GridViewColumn.CellTemplate>
  58. </GridViewColumn>
  59. </GridView>
  60. </ListView.View>
  61. </ListView>
  62. </GroupBox>
  63. <!-- 添加新位置 -->
  64. <GroupBox Grid.Row="1" Header="Add Position" Margin="0,0,0,10">
  65. <Grid>
  66. <Grid.ColumnDefinitions>
  67. <ColumnDefinition Width="120"/>
  68. <ColumnDefinition Width="120"/>
  69. <ColumnDefinition Width="120"/>
  70. <ColumnDefinition Width="120"/>
  71. <ColumnDefinition Width="120"/>
  72. <ColumnDefinition Width="120"/>
  73. <ColumnDefinition Width="60"/>
  74. <ColumnDefinition Width="Auto"/>
  75. </Grid.ColumnDefinitions>
  76. <Grid.RowDefinitions>
  77. <RowDefinition Height="Auto"/>
  78. <RowDefinition Height="Auto"/>
  79. <RowDefinition Height="Auto"/>
  80. </Grid.RowDefinitions>
  81. <ComboBox Grid.Column="0" Grid.Row="0" Margin="5,5,5,5"
  82. ItemsSource="{Binding PositionTypes}"
  83. SelectedItem="{Binding SelectedPositionType}"/>
  84. <ComboBox Grid.Column="1" Grid.Row="0" Margin="5,5,5,5"
  85. ItemsSource="{Binding AvailableSelections}"
  86. SelectedItem="{Binding SelectedSelection}" />
  87. <TextBox Grid.Column="2" Grid.Row="0" Margin="5,5,5,5" IsEnabled="{Binding IsInputParameterEnable}"
  88. Text="{Binding Parameter,Mode=TwoWay}"/>
  89. <ComboBox Grid.Column="3" Grid.Row="0" Margin="5,5,5,5"
  90. ItemsSource="{Binding HandsTypes}"
  91. SelectedItem="{Binding RobotHand,Mode=TwoWay}"/>
  92. <ComboBox Grid.Column="4" Grid.Row="0" Margin="5,5,5,5"
  93. ItemsSource="{Binding FlipTypes}"
  94. SelectedItem="{Binding PickRobotFlip,Mode=TwoWay}"/>
  95. <ComboBox Grid.Column="5" Grid.Row="0" Margin="5,5,5,5"
  96. ItemsSource="{Binding FlipTypes}"
  97. SelectedItem="{Binding PlaceRobotFlip,Mode=TwoWay}"/>
  98. <Button Grid.Column="6" Grid.Row="0" Margin="5,5,5,5"
  99. Content="Add" Command="{Binding AddPositionCommand}"/>
  100. <TextBlock Grid.Column="0" Grid.Row="1" Text="Input CycleTimes:" Margin="5,5,5,5"/>
  101. <TextBox Grid.Column="1" Grid.Row="1" Margin="5,5,5,5" HorizontalAlignment="Center" Width="50" HorizontalContentAlignment="Center"
  102. Text="{Binding InPutCycleTimes,Mode=TwoWay}"/>
  103. <TextBlock Grid.Column="0" Grid.Row="2" Text="Current cycle:" Margin="5,5,5,5"/>
  104. <TextBlock Grid.Column="1" Grid.Row="2" Margin="5,5,5,5" HorizontalAlignment="Center"
  105. Text="{Binding CurrentCycle}"/>
  106. </Grid>
  107. </GroupBox>
  108. <!-- 控制按钮 -->
  109. <StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Right">
  110. <Button Content="Start" Width="80" Height="30" Margin="5"
  111. Command="{Binding RobotCycleStartCommand}"/>
  112. <Button Content="Abort" Width="80" Height="30" Margin="5"
  113. Command="{Binding RobotCycleAbortCommand}"/>
  114. </StackPanel>
  115. </Grid>
  116. </Canvas>
  117. </UserControl>