Files
HeadgearViewingRange3M/Views/MainWindow.xaml
2026-03-25 21:34:41 +08:00

189 lines
12 KiB
XML

<Window x:Class="MembranePoreTester.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MembranePoreTester"
Title="设备控制系统"
Width="1024" Height="768"
WindowStartupLocation="CenterScreen"
ResizeMode="NoResize"
Background="{StaticResource WindowBackground}">
<Grid Margin="12">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- 标题 -->
<TextBlock Grid.Row="0" Text="智能设备控制平台" FontSize="24" FontWeight="Bold"
Foreground="White" HorizontalAlignment="Center" Margin="0,0,0,12"/>
<!-- 主要内容区 -->
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!-- 左侧参数区 -->
<ScrollViewer Grid.Column="0" VerticalScrollBarVisibility="Auto">
<StackPanel Margin="0,0,12,0">
<!-- 灯条数据组 -->
<GroupBox Header="灯条数据">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Grid.Row="0" Grid.Column="0" Content="上灯条数据1"/>
<TextBox Grid.Row="0" Grid.Column="1" Text="{Binding DeviceData.UpperLampData1, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="1" Grid.Column="0" Content="下灯条数据1"/>
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding DeviceData.LowerLampData1, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="2" Grid.Column="0" Content="上灯条数据2"/>
<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding DeviceData.UpperLampData2, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="3" Grid.Column="0" Content="下灯条数据2"/>
<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding DeviceData.LowerLampData2, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="4" Grid.Column="0" Content="上灯条数据3"/>
<TextBox Grid.Row="4" Grid.Column="1" Text="{Binding DeviceData.UpperLampData3, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="5" Grid.Column="0" Content="下灯条数据3"/>
<TextBox Grid.Row="5" Grid.Column="1" Text="{Binding DeviceData.LowerLampData3, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="0" Grid.Column="2" Content="上灯条数据4"/>
<TextBox Grid.Row="0" Grid.Column="3" Text="{Binding DeviceData.UpperLampData4, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="1" Grid.Column="2" Content="下灯条数据4"/>
<TextBox Grid.Row="1" Grid.Column="3" Text="{Binding DeviceData.LowerLampData4, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="2" Grid.Column="2" Content="上灯条数据5"/>
<TextBox Grid.Row="2" Grid.Column="3" Text="{Binding DeviceData.UpperLampData5, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="3" Grid.Column="2" Content="下灯条数据5"/>
<TextBox Grid.Row="3" Grid.Column="3" Text="{Binding DeviceData.LowerLampData5, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="4" Grid.Column="2" Content="上灯条数据6"/>
<TextBox Grid.Row="4" Grid.Column="3" Text="{Binding DeviceData.UpperLampData6, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="5" Grid.Column="2" Content="下灯条数据6"/>
<TextBox Grid.Row="5" Grid.Column="3" Text="{Binding DeviceData.LowerLampData6, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
</Grid>
</GroupBox>
<!-- 面积系数组 -->
<GroupBox Header="面积系数">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Grid.Row="0" Grid.Column="0" Content="左眼面积系数"/>
<TextBox Grid.Row="0" Grid.Column="1" Text="{Binding DeviceData.LeftEyeAreaCoeff, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="1" Grid.Column="0" Content="右眼面积系数"/>
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding DeviceData.RightEyeAreaCoeff, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="2" Grid.Column="0" Content="保存率矫正系数"/>
<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding DeviceData.SaveRateCorrectionCoeff, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
</Grid>
</GroupBox>
<!-- 中灯数据组 -->
<GroupBox Header="中灯数据">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Grid.Row="0" Grid.Column="0" Content="中灯1"/>
<TextBox Grid.Row="0" Grid.Column="1" Text="{Binding DeviceData.MiddleLamp1, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="1" Grid.Column="0" Content="中灯2"/>
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding DeviceData.MiddleLamp2, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="2" Grid.Column="0" Content="中灯3"/>
<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding DeviceData.MiddleLamp3, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="3" Grid.Column="0" Content="中灯4"/>
<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding DeviceData.MiddleLamp4, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="4" Grid.Column="0" Content="中灯5"/>
<TextBox Grid.Row="4" Grid.Column="1" Text="{Binding DeviceData.MiddleLamp5, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="5" Grid.Column="0" Content="中灯6"/>
<TextBox Grid.Row="5" Grid.Column="1" Text="{Binding DeviceData.MiddleLamp6, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
<Label Grid.Row="6" Grid.Column="0" Content="中灯7"/>
<TextBox Grid.Row="6" Grid.Column="1" Text="{Binding DeviceData.MiddleLamp7, UpdateSourceTrigger=PropertyChanged}" Margin="5"/>
</Grid>
</GroupBox>
</StackPanel>
</ScrollViewer>
<!-- 右侧控制区 -->
<StackPanel Grid.Column="1" Margin="12,0,0,0">
<!-- 电机限位 -->
<GroupBox Header="电机状态">
<StackPanel Margin="5">
<Label Content="电机限位"/>
<TextBox Text="{Binding DeviceData.MotorLimit, UpdateSourceTrigger=PropertyChanged}" Margin="0,0,0,12"/>
<Button Content="保存参数" Command="{Binding SaveParametersCommand}" Margin="0,5"/>
<Button Content="读取参数" Command="{Binding LoadParametersCommand}" Margin="0,5"/>
</StackPanel>
</GroupBox>
<!-- 控制按钮组 -->
<GroupBox Header="设备控制">
<WrapPanel Margin="5">
<Button Content="复位" Command="{Binding ResetCommand}" Width="80" Margin="5"/>
<Button Content="左眼开" Command="{Binding OpenLeftEyeCommand}" Width="80" Margin="5"/>
<Button Content="反转" Command="{Binding ReverseCommand}" Width="80" Margin="5"/>
<Button Content="右眼开" Command="{Binding OpenRightEyeCommand}" Width="80" Margin="5"/>
<Button Content="正转" Command="{Binding ForwardCommand}" Width="80" Margin="5"/>
</WrapPanel>
</GroupBox>
<!-- 通信状态(可选) -->
<GroupBox Header="通信状态">
<TextBlock Text="{Binding CommunicationStatus}" Foreground="{Binding StatusColor}" FontWeight="Bold" Margin="5"/>
</GroupBox>
</StackPanel>
</Grid>
<!-- 底部导航栏 -->
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,12,0,0">
<Button Content="主页" Command="{Binding NavigateHomeCommand}" Width="100" Margin="5"/>
<Button Content="测试界面" Command="{Binding NavigateTestCommand}" Width="100" Margin="5"/>
<Button Content="数据记录" Command="{Binding NavigateDataRecordCommand}" Width="100" Margin="5"/>
<Button Content="记录画面" Command="{Binding NavigateRecordScreenCommand}" Width="100" Margin="5"/>
</StackPanel>
</Grid>
</Window>