-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathContagionPage.xaml
More file actions
130 lines (127 loc) · 9.01 KB
/
ContagionPage.xaml
File metadata and controls
130 lines (127 loc) · 9.01 KB
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<Page
x:Class="AlgorithmVisualization.ContagionPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:AlgorithmVisualization"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<StackPanel x:Name="ContagionGridStack" Grid.Row="0" Grid.Column="0" Margin="6">
<TextBlock FontSize="24" Margin="6">网格图</TextBlock>
<!--<Button x:Name="DebugBtn" Content="调试" Click="DebugBtn_Click" Margin="12"></Button>-->
<StackPanel x:Name="ContagionGrid"
Margin="6"
Orientation="Vertical"
SizeChanged="ContagionGrid_SizeChanged"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch">
</StackPanel>
<TextBlock FontSize="24" Margin="6 24 6 6">图例</TextBlock>
<Grid x:Name="SortHistogramLegend" Margin="6">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<StackPanel Margin="12">
<Rectangle Width="50" Height="50" Fill="Blue"></Rectangle>
<TextBlock TextAlignment="Center" Margin="6">S-易感者</TextBlock>
</StackPanel>
<StackPanel Margin="12">
<Rectangle Width="50" Height="50" Fill="Red"></Rectangle>
<TextBlock TextAlignment="Center" Margin="6">I-感染者</TextBlock>
</StackPanel>
<StackPanel Margin="12">
<Rectangle Width="50" Height="50" Fill="Green"></Rectangle>
<TextBlock TextAlignment="Center" Margin="6">R-康复者</TextBlock>
</StackPanel>
<StackPanel Margin="12">
<Rectangle Width="50" Height="50" Fill="Yellow"></Rectangle>
<TextBlock TextAlignment="Center" Margin="6">E-潜伏者</TextBlock>
</StackPanel>
<StackPanel Margin="12">
<Rectangle Width="50" Height="50" Fill="DeepSkyBlue"></Rectangle>
<TextBlock TextAlignment="Center" Margin="6">A-无症状</TextBlock>
</StackPanel>
</StackPanel>
</Grid>
<TextBlock Margin="12" FontWeight="Bold" TextWrapping="Wrap" Foreground="Yellow">右侧默认的参数并非任何传染病的真实数据,请使用者根据自己想要模拟的情况进行设定。本软件只提供数学模型,不对参数负责。本软件只能用于对数学建模算法的学习,不可代替任何专业的医疗指导。现实的情况远远比数学模型更加复杂,一切请以现实为准。</TextBlock>
</StackPanel>
<StackPanel x:Name="SortDetail" Grid.Row="0" Grid.RowSpan="2" Grid.Column="1" Margin="6">
<TextBlock x:Name="AlgorithmName" FontSize="24" Margin="6">算法名称</TextBlock>
<TextBlock x:Name="Introduction" Margin="6" TextWrapping="Wrap">算法介绍</TextBlock>
<TextBlock x:Name="FitInfectiousDisease" Margin="6" TextWrapping="Wrap">适用于:</TextBlock>
<StackPanel Margin="6" Orientation="Horizontal" HorizontalAlignment="Center">
<Button x:Name="StartOrPause" Click="StartOrPause_Click">开始</Button>
<Button x:Name="Reset" Margin="20 0 0 0" Click="Reset_Click">重置</Button>
<Button x:Name="Next" Margin="20 0 0 0" Click="Next_Click">下一步</Button>
</StackPanel>
<Border x:Name="TimeElapseSpeedBox" BorderBrush="Gray" BorderThickness="1" Padding="4" CornerRadius="6" Margin="6">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Margin="4 0 4 0">时间流逝速度</TextBlock>
<TextBlock x:Name="TimeElapseSpeedText" Margin="4 0 4 0">0.2s</TextBlock>
</StackPanel>
<Slider x:Name="TimeElapseSpeedSlider" Margin="4 0 4 0" Maximum="2.0" Minimum="0.05" Value="0.2" StepFrequency="0.05" ValueChanged="TimeElapseSpeedSlider_ValueChanged"></Slider>
</StackPanel>
</Border>
<Border x:Name="ContactPeopleCountBox" BorderBrush="Gray" BorderThickness="1" Padding="4" CornerRadius="6" Margin="4">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Margin="4 0 4 0">感染者每天接触到的人</TextBlock>
<TextBlock x:Name="ContactPeopleCountText" Margin="4 0 4 0">20人</TextBlock>
</StackPanel>
<Slider x:Name="ContactPeopleCountSlider" Margin="4 0 4 0" Maximum="80" Minimum="0" Value="20" StepFrequency="10" ValueChanged="ContactPeopleCountSlider_ValueChanged"></Slider>
</StackPanel>
</Border>
<Border x:Name="InfectiousRateBox" BorderBrush="Gray" BorderThickness="1" Padding="4" CornerRadius="6" Margin="4">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Margin="4 0 4 0">易感人群接触感染率</TextBlock>
<TextBlock x:Name="InfectiousRateText" Margin="4 0 4 0">20%</TextBlock>
</StackPanel>
<Slider x:Name="InfectiousRateSlider" Margin="4 0 4 0" Maximum="100" Minimum="0" Value="20" StepFrequency="1" ValueChanged="InfectiousRateSlider_ValueChanged"></Slider>
</StackPanel>
</Border>
<Border x:Name="RecoveryRateBox" BorderBrush="Gray" BorderThickness="1" Padding="4" CornerRadius="6" Margin="4">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Margin="4 0 4 0">显性感染者每日康复率</TextBlock>
<TextBlock x:Name="RecoveryRateText" Margin="4 0 4 0">10%</TextBlock>
</StackPanel>
<Slider x:Name="RecoveryRateSlider" Margin="4 0 4 0" Maximum="50" Minimum="0" Value="10" StepFrequency="0.1" ValueChanged="RecoveryRateSlider_ValueChanged"></Slider>
</StackPanel>
</Border>
<Border x:Name="AsymptomaticRecoveryBox" BorderBrush="Gray" BorderThickness="1" Padding="4" CornerRadius="6" Margin="4">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Margin="4 0 4 0">隐性感染者每日康复率</TextBlock>
<TextBlock x:Name="AsymptomaticRecoveryText" Margin="4 0 4 0">5%</TextBlock>
</StackPanel>
<Slider x:Name="AsymptomaticRecoverySlider" Margin="4 0 4 0" Maximum="50" Minimum="0" Value="2" StepFrequency="0.1" ValueChanged="AsymptomaticRecoverySlider_ValueChanged"></Slider>
</StackPanel>
</Border>
<Border x:Name="ExposedToInfectiousBox" BorderBrush="Gray" BorderThickness="1" Padding="4" CornerRadius="6" Margin="4">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Margin="4 0 4 0">潜伏期转显性感染者率</TextBlock>
<TextBlock x:Name="ExposedToInfectiousText" Margin="4 0 4 0">50%</TextBlock>
</StackPanel>
<Slider x:Name="ExposedToInfectiousSlider" Margin="4 0 4 0" Maximum="100" Minimum="0" Value="50" StepFrequency="1" ValueChanged="ExposedToInfectiousSlider_ValueChanged"></Slider>
</StackPanel>
</Border>
<Border x:Name="ExposedToAsymptomaticBox" BorderBrush="Gray" BorderThickness="1" Padding="4" CornerRadius="6" Margin="4">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Margin="4 0 4 0">潜伏者转隐性感染者率</TextBlock>
<TextBlock x:Name="ExposedToAsymptomaticText" Margin="4 0 4 0">20%</TextBlock>
</StackPanel>
<Slider x:Name="ExposedToAsymptomaticSlider" Margin="4 0 4 0" Maximum="100" Minimum="0" Value="20" StepFrequency="1" ValueChanged="ExposedToAsymptomaticSlider_ValueChanged"></Slider>
</StackPanel>
</Border>
<TextBlock x:Name="Console"></TextBlock>
</StackPanel>
</Grid>
</Page>