Plane.FormationCreator/Plane.FormationCreator/Views/ModifyTaskView.xaml

663 lines
30 KiB
XML

<UserControl x:Class="Plane.FormationCreator.Views.ModifyTaskView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Plane.FormationCreator.Views"
xmlns:vm="clr-namespace:Plane.FormationCreator.ViewModels"
xmlns:m="clr-namespace:Plane.FormationCreator.Formation"
mc:Ignorable="d"
d:DesignWidth="300" Height="420">
<StackPanel Orientation="Vertical" Margin="0,0,0,-30">
<StackPanel.Resources>
<Style TargetType="StackPanel">
<Setter Property="Orientation"
Value="Horizontal" />
</Style>
</StackPanel.Resources>
<TextBlock Text="任务操作" FontWeight="Bold" />
<StackPanel>
<Button Content="导出任务"
Margin="0,5,0,0"
Command="{Binding ExportTasksCommand}" />
<Button Content="导入任务"
Margin="5,5,0,0"
Command="{Binding ImportTasksCommand}"
/>
<TextBlock Text="起始步骤" Margin="5, 10, 5, 0"/>
<TextBox x:Name="txtStarindex"
Width="45"
Margin="0,5,5,0"
VerticalContentAlignment="Center"
Text="{Binding txtStarindex, UpdateSourceTrigger=PropertyChanged}"
/>
<TextBlock Text="结束" Margin="0, 10, 5, 0"/>
<TextBox x:Name="txtendindex"
Width="45"
Margin="0,5,5,0"
VerticalContentAlignment="Center"
Text="{Binding txtendindex, UpdateSourceTrigger=PropertyChanged}"
/>
</StackPanel>
<StackPanel>
<Button Content="上边对齐"
Margin="0,5,5,0"
Command="{Binding LevelAlignmentCommand}" />
<Button Content="右边对齐"
Margin="0,5,5,0"
Command="{Binding VerticlAlignmentCommand}" />
<Button Content="水平均分"
Margin="0,5,5,0"
Command="{Binding LevelAverageCommand}" />
<Button Content="垂直均分"
Margin="0,5,5,0"
Command="{Binding VerticlAverageCommand}" />
</StackPanel>
<StackPanel>
<Button Content="水平旋转"
Margin="0,5,5,0"
Command="{Binding LevelRotateCommand}"
CommandParameter="{Binding ElementName=txtAlignmentLine, Path=Text}"/>
<Button Content="垂直旋转"
Margin="0,5,5,0"
Command="{Binding VerticlRotateCommand}"
CommandParameter="{Binding ElementName=txtAlignmentLine, Path=Text}"/>
<Button Content="整体旋转"
Margin="0,5,5,0"
Command="{Binding TaskRotateCommand}"
CommandParameter="{Binding ElementName=txtAlignmentLine, Path=Text}"/>
<TextBox x:Name="txtAlignmentLine"
Width="25"
Margin="0,5,5,0"
Text="0"
VerticalContentAlignment="Center" />
<TextBlock Text="度" Margin="0, 10, 5, 0"/>
<Button Content="自动高度"
Margin="0,5,5,0"
Visibility="Hidden"
Command="{Binding AutoaltCommand}" />
</StackPanel>
<StackPanel>
<Button Content="缩放比例"
Margin="0,5,5,0"
Command="{Binding ScaleCommand}"
CommandParameter="{Binding ElementName=txtScaleVale, Path=Text}"/>
<TextBox x:Name="txtScaleVale"
Width="35"
Margin="0,5,5,0"
Text="100"
VerticalContentAlignment="Center" />
<TextBlock Text="%" Margin="0, 10, 2, 0"/>
<Button Content="计算距离"
Margin="0,5,5,0"
Command="{Binding calDistinceCommand}"
/>
<TextBox
Grid.Column="1"
Width="25"
Margin="0, 5, 5, 0"
HorizontalContentAlignment="Right"
Text="{Binding Distancevalue, UpdateSourceTrigger=PropertyChanged}"
/>
<TextBlock Text="米" Margin="0, 10, 5, 0"/>
<Button Content="前一高度"
Margin="0,5,5,0"
Command="{Binding PrealtCommand}" />
</StackPanel>
<StackPanel>
<Button Content="整体提高"
Margin="0,5,5,0"
Command="{Binding ModiAltCommand}" />
<Button Content="整体移动"
Margin="0,5,5,0"
Command="{Binding ModiAllPosCommand}" />
<TextBox
Grid.Column="1"
Width="25"
Margin="0, 5, 5, 0"
HorizontalContentAlignment="Right"
Text="{Binding Modialtvalue, UpdateSourceTrigger=PropertyChanged}"
/>
<TextBlock Text="米 方向" Margin="0, 10, 5, 0"/>
<TextBox
Grid.Column="1"
Width="35"
Margin="0, 5, 5, 0"
HorizontalContentAlignment="Right"
Text="{Binding directionvalue, UpdateSourceTrigger=PropertyChanged}"
/>
<TextBlock Text="度" Margin="0, 10, 5, 0"/>
</StackPanel>
<Separator />
<StackPanel>
<TextBlock Text="起飞数量:" Margin="5,10,5,0" />
<TextBox x:Name="txttakeoff"
Width="25"
Margin="0,5,5,0"
VerticalContentAlignment="Center"
DataContext="{Binding FlightTaskManager}"
Text="{Binding TakeOffNumAttr, UpdateSourceTrigger=PropertyChanged}"
/>
</StackPanel>
<TabControl Margin="0,5"
Grid.IsSharedSizeScope="True"
DataContext="{Binding FlightTaskManager.SelectedTask}"
SelectedIndex="{Binding TaskTypeIndex}">
<TabControl.Resources>
<Style TargetType="TextBlock">
<Setter Property="VerticalAlignment"
Value="Center" />
</Style>
<Style TargetType="TextBox"
BasedOn="{StaticResource {x:Type TextBox}}">
<Setter Property="VerticalAlignment"
Value="Center" />
<Setter Property="Margin"
Value="2" />
<Setter Property="MinWidth"
Value="100" />
</Style>
<Style TargetType="CheckBox"
BasedOn="{StaticResource {x:Type CheckBox}}">
<Setter Property="VerticalAlignment"
Value="Center" />
<Setter Property="Margin"
Value="2" />
</Style>
</TabControl.Resources>
<TabItem Header="飞往">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition SharedSizeGroup="TabItem" />
</Grid.RowDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Text="错开路线: " />
<CheckBox Grid.Row="0" Grid.Column="1"
IsChecked="{Binding StaggerRoutes}" />
<TextBlock Grid.Row="1" Text="垂直升降: " />
<CheckBox Grid.Row="1" Grid.Column="1"
IsChecked="{Binding VerticalLift}" />
<TextBlock Grid.Row="2" Text="开灯: " />
<CheckBox Grid.Row="2" Grid.Column="1"
DataContext="{Binding ModifyingSingleCopterInfo}"
IsChecked="{Binding FlytoShowLED}" />
</Grid>
<Separator Grid.Row="1" />
<Grid Grid.Row="2"
DataContext="{Binding ModifyingSingleCopterInfo}"
IsEnabled="{Binding CanModifySingleCopterInfo}">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Text="纬度: " />
<TextBox Grid.Column="1"
Margin="0,5,10,0"
Text="{Binding TargetLat, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Grid.Row="1"
Text="经度: " />
<TextBox Grid.Row="1"
Grid.Column="1"
Margin="0,5,10,0"
Text="{Binding TargetLng, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Grid.Row="2"
Text="高度: " />
<TextBox Grid.Row="2"
Grid.Column="1"
Margin="0,5,10,0"
Text="{Binding TargetAlt, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
</Grid>
</Grid>
</TabItem>
<TabItem Header="转向">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition SharedSizeGroup="TabItem" />
</Grid.RowDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Separator Grid.Row="1" />
<Grid Grid.Row="2"
DataContext="{Binding ModifyingSingleCopterInfo}"
IsEnabled="{Binding CanModifySingleCopterInfo}">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Text="目标偏航: " />
<TextBox Grid.Column="1"
Text="{Binding TargetHeading, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Grid.Column="2"
Text="°" />
</Grid>
</Grid>
</Grid>
</TabItem>
<TabItem Header="画圈">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition SharedSizeGroup="TabItem" />
</Grid.RowDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Separator Grid.Row="1" />
<Grid Grid.Row="2"
DataContext="{Binding ModifyingSingleCopterInfo}"
IsEnabled="{Binding CanModifySingleCopterInfo}">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Text="圆心方向: " />
<TextBox Grid.Column="1"
Text="{Binding CenterDirectionDeg, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Grid.Column="2"
Text="°" />
<TextBlock Grid.Row="1"
Text="半径: " />
<TextBox Grid.Row="1"
Grid.Column="1"
Text="{Binding Radius, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Grid.Row="1"
Grid.Column="2"
Text="cm" />
<TextBlock Grid.Row="2"
Text="角速度: " />
<TextBox Grid.Row="2"
Grid.Column="1"
Text="{Binding Rate, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Grid.Row="2"
Grid.Column="2"
Text="°/s" />
<TextBlock Grid.Row="3"
Text="圈数: " />
<TextBox Grid.Row="3"
Grid.Column="1"
Text="{Binding Turns, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Grid.Row="3"
Grid.Column="2"
Text="圈" />
<TextBlock Grid.Row="4"
Text="通道3: " />
<TextBox Grid.Row="4"
Grid.Column="1"
Text="{Binding Channel3, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
</Grid>
</Grid>
</TabItem>
<TabItem Header="悬停">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition SharedSizeGroup="TabItem" />
</Grid.RowDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Text="悬停时间:(秒) " />
<TextBox Grid.Column="1"
Text="{Binding LoiterTimeAttr, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Grid.Row="1" Grid.Column="0" Text="闪烁:(次数) " />
<Grid Grid.Row="1" Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<CheckBox Grid.Row="0" Grid.Column="0"
IsChecked="{Binding flashAttr, UpdateSourceTrigger=PropertyChanged}" />
<TextBox Grid.Column="1" Grid.Row="0"
Text="{Binding flashPeriodAttr, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
<TextBlock Grid.Row="2" Grid.Column="0" Text="走马灯/数字顺序: " />
<Grid Grid.Row="2" Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<CheckBox Grid.Row="0" Grid.Column="0"
IsChecked="{Binding oneByOneAttr, UpdateSourceTrigger=PropertyChanged}" />
<TextBox Grid.Column="1" Grid.Row="0"
Text="{Binding oneByOnePeriodAttr, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
<TextBox Grid.Row="3" Grid.ColumnSpan="2" Text="{Binding flashCopterNameArray, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Grid.Row="4" Grid.Column="0" Text="机头方向: " />
<Grid Grid.Row="4" Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<CheckBox Grid.Row="0" Grid.Column="0"
IsChecked="{Binding ChangeYaw, UpdateSourceTrigger=PropertyChanged}" />
<TextBox Grid.Column="1" Grid.Row="0"
Text="{Binding HeadYaw, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
<Grid Grid.Row="5" Grid.Column="0" Margin="0,0,28,0">
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<CheckBox Grid.Row="0" Grid.Column="0"
IsChecked="{Binding numberShow, UpdateSourceTrigger=PropertyChanged}" Margin="0,5,0,0" />
</Grid>
<Grid Grid.Row="5" Grid.ColumnSpan="2" Margin="19,0,0,0">
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Grid.Row="0" Grid.Column="0" Content="5"
Margin="0,5,0,0"
Command="{Binding NumberCommand5}" />
<Button Grid.Row="0" Grid.Column="1" Content="4"
Margin="0,5,0,0"
Command="{Binding NumberCommand4}" />
<Button Grid.Row="0" Grid.Column="2" Content="3"
Margin="0,5,0,0"
Command="{Binding NumberCommand3}" />
<Button Grid.Row="0" Grid.Column="3" Content="2"
Margin="0,5,0,0"
Command="{Binding NumberCommand2}" />
<Button Grid.Row="0" Grid.Column="4" Content="1"
Margin="0,5,0,0"
Command="{Binding NumberCommand1}" />
<Button Grid.Row="0" Grid.Column="5" Content="0"
Margin="0,5,0,0"
Command="{Binding NumberCommand0}"
/>
<Button Grid.Row="0" Grid.Column="6" Content="N"
Margin="0,5,0,0"
Command="{Binding NumberCommandok}"
/>
</Grid>
</Grid>
</Grid>
</Grid>
</TabItem>
<!--
<TabItem Header="LED控制">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition SharedSizeGroup="TabItem" />
</Grid.RowDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Separator Grid.Row="1" />
<Grid Grid.Row="2"
DataContext="{Binding ModifyingSingleCopterInfo}"
IsEnabled="{Binding CanModifySingleCopterInfo}">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="全部闪烁: " />
<TextBox Grid.Column="1" Grid.Row="0"
Text="15" />
<TextBlock Grid.Row="1" Grid.Column="0" Text="走马灯: " />
<TextBox Grid.Column="1" Grid.Row="1"
Text="15" />
</Grid>
</Grid>
</Grid>
</TabItem>
-->
<TabItem Header="返航">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition SharedSizeGroup="TabItem" />
</Grid.RowDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Text="返航高度: " />
<TextBox Grid.Column="1" Grid.Row="0"
Text="{Binding RTLAlt, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Text="同时返航数量: " Grid.Row="1" Grid.Column="0" />
<TextBox Grid.Column="1" Grid.Row="1"
Text="{Binding RetNumAttr, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
</Grid>
</Grid>
</TabItem>
<!--<TabItem Header="简单画圈">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition SharedSizeGroup="TabItem" />
</Grid.RowDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Separator Grid.Row="1" />
<Grid Grid.Row="2"
DataContext="{Binding ModifyingSingleCopterInfo}"
IsEnabled="{Binding CanModifySingleCopterInfo}">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0"
Text="角速度: " />
<TextBox Grid.Row="0"
Grid.Column="1"
Text="{Binding Rate, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Grid.Row="0"
Grid.Column="2"
Text="°/s" />
<TextBlock Grid.Row="1"
Text="圈数: " />
<TextBox Grid.Row="1"
Grid.Column="1"
Text="{Binding Turns, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Grid.Row="1"
Grid.Column="2"
Text="圈" />
<TextBlock Grid.Row="2"
Text="通道3: " />
<TextBox Grid.Row="2"
Grid.Column="1"
Text="{Binding Channel3, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
</Grid>
</Grid>
</TabItem>-->
</TabControl>
</StackPanel>
</UserControl>