306 lines
19 KiB
XML
306 lines
19 KiB
XML
<UserControl x:Class="DeviceEditModule.Views.N36200View"
|
|
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:prism="http://prismlibrary.com/"
|
|
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
|
|
xmlns:converters="clr-namespace:UIShare.Converters;assembly=UIShare"
|
|
mc:Ignorable="d"
|
|
prism:ViewModelLocator.AutoWireViewModel="True"
|
|
d:DesignHeight="760" d:DesignWidth="860">
|
|
|
|
<UserControl.Resources>
|
|
<converters:BooleanToVisibilityConverter x:Key="BoolToVis"/>
|
|
|
|
<Style x:Key="CmdBtn" TargetType="Button" BasedOn="{StaticResource MaterialDesignRaisedButton}">
|
|
<Setter Property="Height" Value="32"/>
|
|
<Setter Property="Padding" Value="12,0"/>
|
|
<Setter Property="FontSize" Value="12"/>
|
|
<Setter Property="Margin" Value="4,0"/>
|
|
</Style>
|
|
|
|
<Style x:Key="WarnBtn" TargetType="Button" BasedOn="{StaticResource MaterialDesignRaisedButton}">
|
|
<Setter Property="Height" Value="32"/>
|
|
<Setter Property="Padding" Value="12,0"/>
|
|
<Setter Property="FontSize" Value="12"/>
|
|
<Setter Property="Margin" Value="4,0"/>
|
|
<Setter Property="Background" Value="#EF6C00"/>
|
|
<Setter Property="Foreground" Value="White"/>
|
|
</Style>
|
|
|
|
<Style x:Key="NumInput" TargetType="TextBox" BasedOn="{StaticResource MaterialDesignOutlinedTextBox}">
|
|
<Setter Property="Width" Value="100"/>
|
|
<Setter Property="Height" Value="32"/>
|
|
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
|
<Setter Property="FontSize" Value="12"/>
|
|
<Setter Property="Margin" Value="4,0"/>
|
|
</Style>
|
|
|
|
<Style x:Key="MeasureBox" TargetType="TextBox" BasedOn="{StaticResource MaterialDesignOutlinedTextBox}">
|
|
<Setter Property="Width" Value="110"/>
|
|
<Setter Property="Height" Value="32"/>
|
|
<Setter Property="IsReadOnly" Value="True"/>
|
|
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
|
<Setter Property="FontSize" Value="12"/>
|
|
<Setter Property="Margin" Value="4,0"/>
|
|
<Setter Property="Background" Value="#F5F5F5"/>
|
|
</Style>
|
|
|
|
<Style x:Key="ParamLabel" TargetType="TextBlock">
|
|
<Setter Property="Width" Value="80"/>
|
|
<Setter Property="VerticalAlignment" Value="Center"/>
|
|
<Setter Property="FontSize" Value="12"/>
|
|
<Setter Property="Margin" Value="0,0,4,0"/>
|
|
</Style>
|
|
</UserControl.Resources>
|
|
|
|
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled">
|
|
<StackPanel Margin="12">
|
|
|
|
<!-- ═══ 设备信息头 ═══ -->
|
|
<materialDesign:Card Margin="0,0,0,8" Padding="12,8">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
|
<materialDesign:PackIcon Kind="BatteryCharging" Width="22" Height="22"
|
|
Foreground="#2E7D32" Margin="0,0,8,0"
|
|
VerticalAlignment="Center"/>
|
|
<TextBlock Text="N36200 宽范围可编程直流电源"
|
|
FontSize="15" FontWeight="Bold"
|
|
VerticalAlignment="Center"/>
|
|
<TextBlock Text="{Binding DeviceName, StringFormat=' [{0}]'}"
|
|
FontSize="13" Foreground="#757575"
|
|
VerticalAlignment="Center" Margin="4,0,0,0"/>
|
|
</StackPanel>
|
|
|
|
<!-- 连接状态指示 -->
|
|
<StackPanel Grid.Column="2" Orientation="Horizontal" VerticalAlignment="Center">
|
|
<Border Width="10" Height="10" CornerRadius="5" Margin="0,0,6,0">
|
|
<Border.Style>
|
|
<Style TargetType="Border">
|
|
<Setter Property="Background" Value="#F44336"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsConnected}" Value="True">
|
|
<Setter Property="Background" Value="#4CAF50"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Border.Style>
|
|
</Border>
|
|
<TextBlock VerticalAlignment="Center" FontSize="12">
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="Text" Value="未连接"/>
|
|
<Setter Property="Foreground" Value="#F44336"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsConnected}" Value="True">
|
|
<Setter Property="Text" Value="已连接"/>
|
|
<Setter Property="Foreground" Value="#4CAF50"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
<ProgressBar IsIndeterminate="True" Width="80" Height="4"
|
|
Margin="12,0,0,0"
|
|
Visibility="{Binding IsBusy, Converter={StaticResource BoolToVis}}"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
</materialDesign:Card>
|
|
|
|
<!-- ═══ 主体 2 列 ═══ -->
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<!-- ─── 左列 ─── -->
|
|
<StackPanel Grid.Column="0" Margin="0,0,4,0">
|
|
|
|
<!-- 输出控制 -->
|
|
<GroupBox Header="输出控制" Margin="0,0,0,8"
|
|
materialDesign:ColorZoneAssist.Mode="PrimaryLight">
|
|
<StackPanel Margin="4,4,4,4">
|
|
<!-- 开关输出 -->
|
|
<StackPanel Orientation="Horizontal" Margin="0,4">
|
|
<TextBlock Text="DC 输出" Style="{StaticResource ParamLabel}"/>
|
|
<Button Content="开启输出" Command="{Binding OutputOnCommand}"
|
|
Style="{StaticResource MaterialDesignRaisedButton}"
|
|
Background="#388E3C" Foreground="White"
|
|
Height="32" Padding="12,0" FontSize="12" Margin="4,0"/>
|
|
<Button Content="关闭输出" Command="{Binding OutputOffCommand}"
|
|
Style="{StaticResource WarnBtn}"/>
|
|
</StackPanel>
|
|
<!-- 运行模式 -->
|
|
<StackPanel Orientation="Horizontal" Margin="0,4">
|
|
<TextBlock Text="运行模式" Style="{StaticResource ParamLabel}"/>
|
|
<ComboBox Width="100" Height="32" Margin="4,0"
|
|
materialDesign:HintAssist.Hint=""
|
|
SelectedItem="{Binding SelectedMode}"
|
|
VerticalContentAlignment="Center" FontSize="12">
|
|
<ComboBoxItem Content="NORMal"/>
|
|
<ComboBoxItem Content="CHARge"/>
|
|
<ComboBoxItem Content="SEQuence"/>
|
|
<ComboBoxItem Content="CPOWer"/>
|
|
<ComboBoxItem Content="CARWave"/>
|
|
</ComboBox>
|
|
<Button Content="设置" Command="{Binding SetModeCommand}"
|
|
Style="{StaticResource CmdBtn}"/>
|
|
</StackPanel>
|
|
<!-- 重置 / 清除 / IDN -->
|
|
<StackPanel Orientation="Horizontal" Margin="0,4">
|
|
<TextBlock Text="系统操作" Style="{StaticResource ParamLabel}"/>
|
|
<Button Content="清除告警" Command="{Binding ClearAlarmCommand}"
|
|
Style="{StaticResource WarnBtn}"/>
|
|
<Button Content="重置设备" Command="{Binding ResetDeviceCommand}"
|
|
Style="{StaticResource WarnBtn}"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
|
|
<!-- 参数设置 -->
|
|
<GroupBox Header="参数设置" Margin="0,0,0,8"
|
|
materialDesign:ColorZoneAssist.Mode="PrimaryLight">
|
|
<StackPanel Margin="4,4,4,4">
|
|
<!-- 电压 -->
|
|
<StackPanel Orientation="Horizontal" Margin="0,4">
|
|
<TextBlock Text="电压 (V)" Style="{StaticResource ParamLabel}"/>
|
|
<TextBox Style="{StaticResource NumInput}"
|
|
materialDesign:HintAssist.Hint=""
|
|
Text="{Binding Voltage, UpdateSourceTrigger=PropertyChanged}"/>
|
|
<Button Content="设置" Command="{Binding SetVoltageCommand}"
|
|
Style="{StaticResource CmdBtn}"/>
|
|
</StackPanel>
|
|
<!-- 限流 -->
|
|
<StackPanel Orientation="Horizontal" Margin="0,4">
|
|
<TextBlock Text="限流 (A)" Style="{StaticResource ParamLabel}"/>
|
|
<TextBox Style="{StaticResource NumInput}"
|
|
materialDesign:HintAssist.Hint=""
|
|
Text="{Binding CurrentLimit, UpdateSourceTrigger=PropertyChanged}"/>
|
|
<Button Content="设置" Command="{Binding SetCurrentCommand}"
|
|
Style="{StaticResource CmdBtn}"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
|
|
<!-- 保护设置 -->
|
|
<GroupBox Header="保护设置" Margin="0,0,0,8"
|
|
materialDesign:ColorZoneAssist.Mode="PrimaryLight">
|
|
<StackPanel Margin="4,4,4,4">
|
|
<StackPanel Orientation="Horizontal" Margin="0,4">
|
|
<TextBlock Text="OVP (V)" Style="{StaticResource ParamLabel}"/>
|
|
<TextBox Style="{StaticResource NumInput}"
|
|
materialDesign:HintAssist.Hint=""
|
|
Text="{Binding OvpValue, UpdateSourceTrigger=PropertyChanged}"/>
|
|
<Button Content="设置 OVP" Command="{Binding SetOvpCommand}"
|
|
Style="{StaticResource CmdBtn}"/>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Margin="0,4">
|
|
<TextBlock Text="OCP (A)" Style="{StaticResource ParamLabel}"/>
|
|
<TextBox Style="{StaticResource NumInput}"
|
|
materialDesign:HintAssist.Hint=""
|
|
Text="{Binding OcpValue, UpdateSourceTrigger=PropertyChanged}"/>
|
|
<Button Content="设置 OCP" Command="{Binding SetOcpCommand}"
|
|
Style="{StaticResource CmdBtn}"/>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Margin="0,4">
|
|
<TextBlock Text="UVP (V)" Style="{StaticResource ParamLabel}"/>
|
|
<TextBox Style="{StaticResource NumInput}"
|
|
materialDesign:HintAssist.Hint=""
|
|
Text="{Binding UvpValue, UpdateSourceTrigger=PropertyChanged}"/>
|
|
<Button Content="设置 UVP" Command="{Binding SetUvpCommand}"
|
|
Style="{StaticResource CmdBtn}"/>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Margin="0,4">
|
|
<TextBlock Text="OPP (W)" Style="{StaticResource ParamLabel}"/>
|
|
<TextBox Style="{StaticResource NumInput}"
|
|
materialDesign:HintAssist.Hint=""
|
|
Text="{Binding OppValue, UpdateSourceTrigger=PropertyChanged}"/>
|
|
<Button Content="设置 OPP" Command="{Binding SetOppCommand}"
|
|
Style="{StaticResource CmdBtn}"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
</StackPanel>
|
|
|
|
<!-- ─── 右列 ─── -->
|
|
<StackPanel Grid.Column="1" Margin="4,0,0,0">
|
|
|
|
<!-- 实时测量 -->
|
|
<GroupBox Header="实时测量" Margin="0,0,0,8"
|
|
materialDesign:ColorZoneAssist.Mode="PrimaryLight">
|
|
<StackPanel Margin="4,4,4,4">
|
|
<StackPanel Orientation="Horizontal" Margin="0,4">
|
|
<TextBlock Text="实际电压" Style="{StaticResource ParamLabel}"/>
|
|
<TextBox Style="{StaticResource MeasureBox}"
|
|
materialDesign:HintAssist.Hint=""
|
|
Text="{Binding MeasuredVoltage, Mode=OneWay}"/>
|
|
<TextBlock Text="V" VerticalAlignment="Center" Margin="2,0,8,0"/>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Margin="0,4">
|
|
<TextBlock Text="实际电流" Style="{StaticResource ParamLabel}"/>
|
|
<TextBox Style="{StaticResource MeasureBox}"
|
|
materialDesign:HintAssist.Hint=""
|
|
Text="{Binding MeasuredCurrent, Mode=OneWay}"/>
|
|
<TextBlock Text="A" VerticalAlignment="Center" Margin="2,0,8,0"/>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Margin="0,4">
|
|
<TextBlock Text="实际功率" Style="{StaticResource ParamLabel}"/>
|
|
<TextBox Style="{StaticResource MeasureBox}"
|
|
materialDesign:HintAssist.Hint=""
|
|
Text="{Binding MeasuredPower, Mode=OneWay}"/>
|
|
<TextBlock Text="W" VerticalAlignment="Center" Margin="2,0,8,0"/>
|
|
</StackPanel>
|
|
<Button Content="刷新全部测量" Command="{Binding QueryAllMeasureCommand}"
|
|
Style="{StaticResource CmdBtn}"
|
|
HorizontalAlignment="Left" Margin="0,4,0,0"/>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
|
|
<!-- 设备信息与状态 -->
|
|
<GroupBox Header="设备信息与状态" Margin="0,0,0,8"
|
|
materialDesign:ColorZoneAssist.Mode="PrimaryLight">
|
|
<StackPanel Margin="4,4,4,4">
|
|
<StackPanel Orientation="Horizontal" Margin="0,4">
|
|
<Button Content="查询 IDN" Command="{Binding QueryIdentityCommand}"
|
|
Style="{StaticResource CmdBtn}"/>
|
|
<Button Content="查询状态字" Command="{Binding QueryStatusCommand}"
|
|
Style="{StaticResource CmdBtn}"/>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Margin="0,4">
|
|
<TextBlock Text="状态字" Style="{StaticResource ParamLabel}"/>
|
|
<TextBox Style="{StaticResource MeasureBox}" Width="200"
|
|
materialDesign:HintAssist.Hint=""
|
|
Text="{Binding DeviceStatus, Mode=OneWay}"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
|
|
<!-- 响应日志 -->
|
|
<GroupBox Header="响应日志" Margin="0,0,0,8"
|
|
materialDesign:ColorZoneAssist.Mode="PrimaryLight">
|
|
<ScrollViewer Height="300" VerticalScrollBarVisibility="Auto">
|
|
<TextBox Text="{Binding ResponseLog, Mode=OneWay}"
|
|
materialDesign:HintAssist.Hint=""
|
|
IsReadOnly="True"
|
|
TextWrapping="Wrap"
|
|
FontSize="11"
|
|
FontFamily="Consolas"
|
|
Background="#FAFAFA"
|
|
BorderThickness="0"
|
|
VerticalAlignment="Top"/>
|
|
</ScrollViewer>
|
|
</GroupBox>
|
|
</StackPanel>
|
|
</Grid>
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
</UserControl>
|