122 lines
7.6 KiB
XML
122 lines
7.6 KiB
XML
<UserControl x:Class="SSPCTester.UI.Views.ProtectView"
|
||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||
xmlns:vm="clr-namespace:SSPCTester.UI.ViewModels"
|
||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||
mc:Ignorable="d"
|
||
d:DataContext="{d:DesignInstance Type=vm:ProtectViewModel}">
|
||
<Grid Margin="20">
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="Auto" />
|
||
<RowDefinition Height="Auto" />
|
||
<RowDefinition Height="3*" MinHeight="240" />
|
||
<RowDefinition Height="2*" MinHeight="200" />
|
||
</Grid.RowDefinitions>
|
||
|
||
<TextBlock Text="保护功能(覆盖指标 11/14/15/17/19/21/22/23)" FontSize="{StaticResource FsH1}" FontWeight="Bold" Margin="0,0,0,8" />
|
||
|
||
<Border Grid.Row="1" Padding="12,8" Background="{StaticResource WarningSoftBrush}" CornerRadius="{StaticResource RadiusMd}" Margin="0,0,0,12">
|
||
<TextBlock Text="此模块当前仅验证框架,暂不执行实际故障触发测试。" Foreground="{StaticResource WarningBrush}" FontWeight="SemiBold" />
|
||
</Border>
|
||
|
||
<Grid Grid.Row="2">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="320" />
|
||
<ColumnDefinition Width="*" />
|
||
</Grid.ColumnDefinitions>
|
||
<Border Style="{StaticResource Card}" Margin="0,0,12,0">
|
||
<StackPanel>
|
||
<TextBlock Style="{StaticResource CardTitle}" Text="保护项目" />
|
||
<CheckBox Margin="0,4" Content="跳闸" IsChecked="{Binding EnableTrip}" />
|
||
<CheckBox Margin="0,4" Content="短路" IsChecked="{Binding EnableShort}" />
|
||
<CheckBox Margin="0,4" Content="过温" IsChecked="{Binding EnableOverTemp}" />
|
||
<CheckBox Margin="0,4" Content="过压" IsChecked="{Binding EnableOverVolt}" />
|
||
<CheckBox Margin="0,4" Content="欠压" IsChecked="{Binding EnableUnderVolt}" />
|
||
<CheckBox Margin="0,4" Content="限流" IsChecked="{Binding EnableLimit}" />
|
||
|
||
<TextBlock Style="{StaticResource CardTitle}" Text="触发阈值" Margin="0,16,0,12" />
|
||
<Grid>
|
||
<Grid.ColumnDefinitions><ColumnDefinition Width="*" /><ColumnDefinition Width="*" /></Grid.ColumnDefinitions>
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="Auto" />
|
||
<RowDefinition Height="6" />
|
||
<RowDefinition Height="Auto" />
|
||
<RowDefinition Height="6" />
|
||
<RowDefinition Height="Auto" />
|
||
<RowDefinition Height="6" />
|
||
<RowDefinition Height="Auto" />
|
||
</Grid.RowDefinitions>
|
||
<TextBlock Text="过压 (V)" /><TextBox Grid.Column="1" Text="{Binding OverVoltThreshold}" FontFamily="{StaticResource FontMono}" />
|
||
<TextBlock Grid.Row="2" Text="欠压 (V)" /><TextBox Grid.Row="2" Grid.Column="1" Text="{Binding UnderVoltThreshold}" FontFamily="{StaticResource FontMono}" />
|
||
<TextBlock Grid.Row="4" Text="过流 (A)" /><TextBox Grid.Row="4" Grid.Column="1" Text="{Binding OverCurrentThreshold}" FontFamily="{StaticResource FontMono}" />
|
||
<TextBlock Grid.Row="6" Text="过温 (℃)" /><TextBox Grid.Row="6" Grid.Column="1" Text="{Binding OverTempThreshold}" FontFamily="{StaticResource FontMono}" />
|
||
</Grid>
|
||
|
||
<Button Style="{StaticResource PrimaryButton}" Content="生成演示结果" Margin="0,16,0,0" Command="{Binding RunDemoCommand}" />
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<Border Style="{StaticResource Card}" Grid.Column="1">
|
||
<DockPanel>
|
||
<TextBlock DockPanel.Dock="Top" Style="{StaticResource CardTitle}" Text="故障关断曲线(占位)" />
|
||
<Border Background="{StaticResource WaveBgBrush}" BorderBrush="{StaticResource BorderSubtleBrush}" BorderThickness="1" CornerRadius="{StaticResource RadiusMd}">
|
||
<TextBlock Text="—— 框架占位 ——" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="{StaticResource TextMutedBrush}" />
|
||
</Border>
|
||
</DockPanel>
|
||
</Border>
|
||
</Grid>
|
||
|
||
<Grid Grid.Row="3" Margin="0,12,0,0">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*" />
|
||
<ColumnDefinition Width="576" />
|
||
</Grid.ColumnDefinitions>
|
||
|
||
<Border Style="{StaticResource Card}" Margin="0,0,12,0">
|
||
<DockPanel>
|
||
<TextBlock DockPanel.Dock="Top" Style="{StaticResource CardTitle}" Text="结果" />
|
||
<DataGrid ItemsSource="{Binding Rows}">
|
||
<DataGrid.Columns>
|
||
<DataGridTextColumn Header="保护类型" Binding="{Binding ProtectType}" Width="*" />
|
||
<DataGridTextColumn Header="触发条件" Binding="{Binding Trigger}" Width="2*" />
|
||
<DataGridTextColumn Header="关断时间(ms)" Width="*">
|
||
<DataGridTextColumn.Binding><Binding Path="TripTimeMs" Converter="{StaticResource NumberOrDash}" ConverterParameter="F2" /></DataGridTextColumn.Binding>
|
||
<DataGridTextColumn.ElementStyle><Style TargetType="TextBlock" BasedOn="{StaticResource MonoText}" /></DataGridTextColumn.ElementStyle>
|
||
</DataGridTextColumn>
|
||
<DataGridTemplateColumn Header="结果" Width="100">
|
||
<DataGridTemplateColumn.CellTemplate>
|
||
<DataTemplate>
|
||
<Border Style="{StaticResource StatusBadge}" Background="{Binding Status, Converter={StaticResource StatusToSoftBrush}}">
|
||
<TextBlock Text="{Binding Status, Converter={StaticResource StatusToText}}" Foreground="{Binding Status, Converter={StaticResource StatusToBrush}}" FontSize="{StaticResource FsSmall}" />
|
||
</Border>
|
||
</DataTemplate>
|
||
</DataGridTemplateColumn.CellTemplate>
|
||
</DataGridTemplateColumn>
|
||
</DataGrid.Columns>
|
||
</DataGrid>
|
||
</DockPanel>
|
||
</Border>
|
||
|
||
<Border Grid.Column="1" Style="{StaticResource Card}" Padding="14">
|
||
<Grid>
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="Auto" />
|
||
<RowDefinition Height="*" />
|
||
</Grid.RowDefinitions>
|
||
<TextBlock Style="{StaticResource CardTitle}" Text="测试说明" />
|
||
<TextBox Grid.Row="1"
|
||
Text="{Binding Project.TestFunction.Protect, UpdateSourceTrigger=PropertyChanged}"
|
||
AcceptsReturn="True"
|
||
TextWrapping="Wrap"
|
||
VerticalScrollBarVisibility="Auto"
|
||
Height="Auto"
|
||
MinHeight="130"
|
||
Padding="8"
|
||
VerticalContentAlignment="Top" />
|
||
</Grid>
|
||
</Border>
|
||
</Grid>
|
||
</Grid>
|
||
</UserControl>
|