wenxiangchao
2026-11-02 fe2aa4880d5c9fd88088ad0ed81ebaca05629f5f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<UserControl x:Class="Plugin.BurnIn.StatusBtn"
             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:Plugin.BurnIn"
             mc:Ignorable="d" 
             d:DesignHeight="450" d:DesignWidth="800">
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/Plugin.BurnIn;component/ManualDebug/ManualDebugStyle.xaml"/>
            </ResourceDictionary.MergedDictionaries>
 
            <Style x:Key="StatusTextStyle" TargetType="TextBlock">
                <Setter Property="HorizontalAlignment" Value="Center"/>
                <Setter Property="VerticalAlignment" Value="Center"/>
                <Setter Property="FontWeight" Value="SemiBold"/>
                <Setter Property="FontSize" Value="12"/>
                <Setter Property="Text" Value="-"/>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Status}" Value="{x:Static local:DebugStatus.NG}">
                        <Setter Property="Text" Value="NG"/>
                        <Setter Property="Foreground" Value="#FFF"/>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding Status}" Value="{x:Static local:DebugStatus.OK}">
                        <Setter Property="Text" Value="OK"/>
                        <Setter Property="Foreground" Value="#FFF"/>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding Status}" Value="{x:Static local:DebugStatus.Testing}">
                        <Setter Property="Text" Value="TESTING"/>
                        <Setter Property="Foreground" Value="#FFF"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
 
            <!-- 状态边框样式 -->
            <Style x:Key="StatusBorderStyle" TargetType="Border">
                <Setter Property="Background" Value="{StaticResource StatusDefaultBrush}"/>
                <Setter Property="CornerRadius" Value="2"/>
                <Setter Property="HorizontalAlignment" Value="Center"/>
                <Setter Property="Width" Value="100"/>
                <Setter Property="Height" Value="24"/>
                <Setter Property="Margin" Value="0,5,0,0"/>
 
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Status}" Value="{x:Static local:DebugStatus.NG}">
                        <Setter Property="Background" Value="{StaticResource StatusNGBrush}"/>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding Status}" Value="{x:Static local:DebugStatus.OK}">
                        <Setter Property="Background" Value="{StaticResource StatusOKBrush}"/>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding Status}" Value="{x:Static local:DebugStatus.Testing}">
                        <Setter Property="Background" Value="{StaticResource StatusTestingBrush}"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
 
            <Style x:Key="btnStyle" TargetType="Button" BasedOn="{StaticResource DebugButtonStyle}">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Status}" Value="{x:Static local:DebugStatus.Testing}">
                        <Setter Property="IsEnabled" Value="False"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </ResourceDictionary>
 
    </UserControl.Resources>
    <StackPanel>
        <Button x:Name="btn" Content="{Binding Title}" Style="{StaticResource btnStyle}" Click="Button_Click"/>
        <Border Style="{StaticResource StatusBorderStyle}">
            <TextBlock Style="{StaticResource StatusTextStyle}"/>
        </Border>
    </StackPanel>
</UserControl>