添加项目文件。

This commit is contained in:
czj
2026-06-05 10:57:09 +08:00
parent f29671b374
commit d960cb5912
166 changed files with 15996 additions and 0 deletions

View File

@@ -0,0 +1,128 @@
<UserControl x:Class="MainModule.Views.AutomatedTestingView"
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:local="clr-namespace:MainModule.Views"
xmlns:b="clr-namespace:UIShare.Behaviors;assembly=UIShare"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
xmlns:vs="clr-namespace:TestingModule.Views;assembly=TestingModule"
xmlns:converters="clr-namespace:UIShare.Converters;assembly=UIShare"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<converters:LessThanConverter x:Key="LessThanConverter" />
</UserControl.Resources>
<Border >
<i:Interaction.Behaviors>
<b:MouseDoubleClickBehavior
Command="{Binding DataContext.RefreshCommand, RelativeSource={RelativeSource AncestorType=UserControl}}"/>
</i:Interaction.Behaviors>
<!-- 给最外层 Grid 命名,方便子控件通过 Binding 找到它的 ActualWidth -->
<Grid x:Name="RootGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1.5*"/>
<!-- 给第二行取个名字 Row1方便触发器控制它 -->
<RowDefinition x:Name="Row1">
<RowDefinition.Style>
<Style TargetType="RowDefinition">
<!-- 正常情况下是占 1* 比例 -->
<Setter Property="Height" Value="1*" />
<Style.Triggers>
<!-- 当宽度小于 600 时,把第二行的高度死死锁在 0 像素 -->
<DataTrigger Binding="{Binding ActualWidth, ElementName=RootGrid, Converter={StaticResource LessThanConverter}, ConverterParameter=600}" Value="True">
<Setter Property="Height" Value="0" />
</DataTrigger>
</Style.Triggers>
</Style>
</RowDefinition.Style>
</RowDefinition>
</Grid.RowDefinitions>
<!-- ==================== 1. 左侧:命令树 ==================== -->
<vs:CommandTree DataContext="{Binding CommandTreeVM}"
Grid.Row="0" Grid.Column="0" Grid.RowSpan="2" Margin="5">
<vs:CommandTree.Style>
<Style TargetType="UserControl">
<Style.Triggers>
<!-- 核心逻辑:当最外层 Grid 宽度小于 600 时,隐藏自己 -->
<DataTrigger Binding="{Binding ActualWidth, ElementName=RootGrid, Converter={StaticResource LessThanConverter}, ConverterParameter=600}" Value="True">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</vs:CommandTree.Style>
</vs:CommandTree>
<!-- ==================== 2. 中上:步骤管理(核心显示) ==================== -->
<!-- 1. 注意:标签上不要再写任何 Grid.Row、Grid.Column、Grid.ColumnSpan 属性了! -->
<vs:StepsManager DataContext="{Binding StepsManagerVM}"
Margin="5">
<vs:StepsManager.Style>
<Style TargetType="UserControl">
<!-- 2. 【核心】把默认的网格位置写在这里(低优先级) -->
<Setter Property="Grid.Row" Value="0"/>
<Setter Property="Grid.Column" Value="1"/>
<Setter Property="Grid.RowSpan" Value="1"/>
<Setter Property="Grid.ColumnSpan" Value="2"/>
<Style.Triggers>
<!-- 3. 当宽度小于 600 时,触发器就会顺理成章地覆盖上面的默认值,变成全屏 -->
<DataTrigger Binding="{Binding ActualWidth, ElementName=RootGrid, Converter={StaticResource LessThanConverter}, ConverterParameter=600}" Value="True">
<Setter Property="Grid.Row" Value="0" />
<Setter Property="Grid.Column" Value="0" />
<!-- 附加属性在 Trigger 里的标准全称写法就是这样,只要上面没有本地值冲突,它就能完美生效 -->
<Setter Property="Grid.RowSpan" Value="2" />
<Setter Property="Grid.ColumnSpan" Value="4" />
</DataTrigger>
</Style.Triggers>
</Style>
</vs:StepsManager.Style>
</vs:StepsManager>
<!-- ==================== 3. 右上:单步编辑 ==================== -->
<vs:SingleStepEdit DataContext="{Binding SingleStepEditVM}"
Grid.Row="0" Grid.Column="3" Margin="5">
<vs:SingleStepEdit.Style>
<Style TargetType="UserControl">
<Style.Triggers>
<DataTrigger Binding="{Binding ActualWidth, ElementName=RootGrid, Converter={StaticResource LessThanConverter}, ConverterParameter=600}" Value="True">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</vs:SingleStepEdit.Style>
</vs:SingleStepEdit>
<!-- ==================== 4. 中下:日志显示 ==================== -->
<vs:LogArea DataContext="{Binding LogAreaVM}"
Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" Margin="5">
<!-- 这里不需要写 Visibility 触发器了,保持默认即可 -->
</vs:LogArea>
<!-- ==================== 5. 右下:参数管理 ==================== -->
<vs:ParametersManager DataContext="{Binding ParametersManagerVM}"
Grid.Row="1" Grid.Column="3" Margin="5">
<vs:ParametersManager.Style>
<Style TargetType="UserControl">
<Style.Triggers>
<DataTrigger Binding="{Binding ActualWidth, ElementName=RootGrid, Converter={StaticResource LessThanConverter}, ConverterParameter=600}" Value="True">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</vs:ParametersManager.Style>
</vs:ParametersManager>
</Grid>
</Border>
</UserControl>