MainPageView.xaml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <UserControl x:Class="ivf_tl_Operate.View.MainPageView"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:ivf_tl_Operate.View"
  7. xmlns:customUserControl="clr-namespace:ivf_tl_Operate.CustomUserControls"
  8. xmlns:customControl="clr-namespace:ivf_tl_CustomControls;assembly=ivf_tl_CustomControls_Surface"
  9. mc:Ignorable="d"
  10. d:DesignHeight="2736" d:DesignWidth="1824">
  11. <!-- M4-01-2:去写死宽高(原 Height=2736 Width=1824),改由父级 Viewbox/容器拉伸;
  12. 保留 d:DesignHeight/d:DesignWidth 仅供设计期预览(mc:Ignorable="d" 运行时忽略)。
  13. 根 Grid 三段式骨架:顶栏(Auto)+运行时间条(Auto)+舱区(*)+底部导航(Auto),
  14. 舱区 * 吃掉剩余高度 → 主页零滚动地基(M4-05)。固定区用 Auto,不写死像素。[D6] 基准随 M7 真机校准。 -->
  15. <!-- M4-05-1:主页零滚动。整页内容由 MainWindow(.cs:37-44) 顶层 Viewbox(Stretch=Uniform)等比缩放铺满,
  16. 此根 Grid 不挂任何 ScrollViewer;三段固定区(顶栏/运行条/底部导航)用 Auto+MinHeight、舱区用 * 吃满剩余高度,
  17. 整页恰好一屏、无垂直/水平溢出。功能分区沿用手机 App 式(顶部状态条/中部舱区/底部导航)但桌面竖屏排版。 -->
  18. <Grid>
  19. <Grid.RowDefinitions>
  20. <RowDefinition Height="Auto"/>
  21. <RowDefinition Height="Auto"/>
  22. <RowDefinition Height="*"/>
  23. <RowDefinition Height="Auto"/>
  24. </Grid.RowDefinitions>
  25. <!--顶部信息-->
  26. <!-- M4-01-2/3:固定顶栏用 Auto 行高 + MinHeight 兜底(替代原写死 250),避免内容塌缩;高度随 Viewbox 等比缩放。 -->
  27. <Grid Grid.Row="0" MinHeight="250" Background="{StaticResource BannerTopFill}">
  28. <Grid.ColumnDefinitions>
  29. <!-- M4-01-3:左侧缓冲瓶状态块列宽 350 → Auto(按内容),中间分隔线 1px 保留,
  30. 第3列 *(弹性留白),第4列 auto(报警块 StatusControl 靠右)。窄分辨率不挤压。 -->
  31. <ColumnDefinition Width="Auto" MinWidth="350"/>
  32. <ColumnDefinition Width="1"/>
  33. <ColumnDefinition Width="1"/>
  34. <ColumnDefinition/>
  35. <ColumnDefinition Width="auto"/>
  36. </Grid.ColumnDefinitions>
  37. <Grid Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center">
  38. <Grid.RowDefinitions>
  39. <RowDefinition/>
  40. <RowDefinition/>
  41. </Grid.RowDefinitions>
  42. <StackPanel Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Center">
  43. <Image Width="39" Height="39" Source="/ivf_tl_Operate;component/Resources/Image/house_pressure.png" VerticalAlignment="Center" ></Image>
  44. <TextBlock Text="{Binding ExHouse11.PressureString}" Margin="10,0,0,0" FontSize="36" FontWeight="Medium" Foreground="#6E7276" VerticalAlignment="Center"/>
  45. </StackPanel>
  46. <StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">
  47. <TextBlock Text="{Binding ExHouse11.pressureDesc}" FontSize="36" FontWeight="Medium" Foreground="#6E7276" VerticalAlignment="Center"></TextBlock>
  48. <TextBlock Visibility="Collapsed" Text="{Binding ExHouse11.houseDesc}" Margin="10,0,0,0" FontSize="36" FontWeight="Medium" Foreground="#6E7276" VerticalAlignment="Center"></TextBlock>
  49. </StackPanel>
  50. </Grid>
  51. <Border Grid.Column="1" Background="#FFFFFF"/>
  52. <Border Grid.Column="2" Background="#DFE0E4"/>
  53. <!--<StackPanel Grid.Column="3" Orientation="Horizontal" HorizontalAlignment="Center">
  54. <Button Content="test" Click="Button_Click_4" Width="200"/>
  55. <Button Content="test" Click="Button_Click_5" Width="200"/>
  56. </StackPanel>-->
  57. <!--<StackPanel Visibility="Collapsed" Grid.Column="3" Orientation="Horizontal" HorizontalAlignment="Center">
  58. <Image Margin="10 0 30 0" Width="66" Height="90" Source="/ivf_tl_Operate;component/Resources/Image/storage.png" ></Image>
  59. <TextBlock Text="C盘空间:14901G 剩余10256.3G" Margin="10 0 30 0" FontSize="44" FontWeight="Medium" Foreground="#0B1B31" HorizontalAlignment="Center" VerticalAlignment="Center" ></TextBlock>
  60. <TextBlock Text="3" Margin="10 0 30 0" FontSize="44" FontWeight="Medium" Foreground="#0B1B31" HorizontalAlignment="Center" VerticalAlignment="Center" ></TextBlock>
  61. </StackPanel>-->
  62. <StackPanel x:Name="lanQie" Visibility="Hidden" Grid.Column="3" Orientation="Horizontal" HorizontalAlignment="Center">
  63. <Button Content="中文" FontSize="40" Width="200" Height="150" Click="Button_Click_1"/>
  64. <Button Content="英文" FontSize="40" Width="200" Height="150" Margin="50 0 0 0" Click="Button_Click_2"/>
  65. <!--<Button Content="多语言更新(仅外网可用)" FontSize="40" Height="150" Margin="50 0 0 0" Click="Button_Click_3"/>-->
  66. <ComboBox x:Name="_timingAutoFocus_ComboBox" Grid.Column="1" Margin="30" Width="350" FontSize="50" Foreground="#959596" BorderThickness="1" BorderBrush="#707070"
  67. MaxDropDownHeight="500" ItemContainerStyle="{StaticResource ComboBoxItemContainerStyle1}"
  68. Style="{StaticResource ComboBoxStyle1}"/>
  69. </StackPanel>
  70. <customUserControl:StatusControl Margin="0 0 10 0" Grid.Column="4" x:Name="_status" Cursor="Hand" MouseDown="_status_MouseDown" Count="{Binding AlarmCount}" />
  71. </Grid>
  72. <!--运行时间-->
  73. <!-- M4-01-2:固定运行时间条用 Auto 行高 + MinHeight 兜底(替代原写死 250),三等分 * 列保持弹性。 -->
  74. <Grid Grid.Row="1" MinHeight="250" Background="#F8F9FB">
  75. <Grid.RowDefinitions>
  76. <RowDefinition/>
  77. <RowDefinition Height="1"/>
  78. <RowDefinition Height="1"/>
  79. </Grid.RowDefinitions>
  80. <Grid.ColumnDefinitions>
  81. <ColumnDefinition/>
  82. <ColumnDefinition/>
  83. <ColumnDefinition/>
  84. </Grid.ColumnDefinitions>
  85. <StackPanel Grid.Row="0" Grid.Column="0" Orientation="Horizontal">
  86. <Ellipse Fill="#4D74AB" Width="15" Height="15" Margin="30 0 10 0"/>
  87. <TextBlock Text="{Binding RunTimeString}" VerticalAlignment="Center" FontSize="42" Foreground="#6E7276"/>
  88. </StackPanel>
  89. <StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal">
  90. <Ellipse Fill="#4D74AB" Width="15" Height="15" Margin="30 0 10 0" />
  91. <TextBlock Text="{Binding MaintenanceTimeString}" VerticalAlignment="Center" FontSize="42" Foreground="#6E7276"/>
  92. </StackPanel>
  93. <StackPanel Grid.Row="0" Grid.Column="2" Orientation="Horizontal">
  94. <Ellipse Fill="#4D74AB" Width="15" Height="15" Margin="30 0 10 0" />
  95. <TextBlock Text="{Binding HepaTimeString}" VerticalAlignment="Center" FontSize="42" Foreground="#6E7276"/>
  96. </StackPanel>
  97. <!--横线-->
  98. <Border Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" Background="#FFFFFF"/>
  99. <Border Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3" Background="#DDDEE0"/>
  100. </Grid>
  101. <!--10个园-->
  102. <!-- M4-05-2:10 舱弹性填满、零溢出。舱区行=*/1px/1px/*(2 内容行)、列=13 列(5 舱列星号 + 各 1px 分隔线),
  103. 沿用现状网格结构(子计划 M4-05-2「舱列/行全 *,分隔线 1px 维持」);10 个 CustomHouseInfo 按 2 行×5 列布局,
  104. 与 07 文档「5行×2列」等价(同 10 格弹性填满)。各舱控件内部为固定画布外套 Viewbox(M4-03-1)等比缩放,
  105. 随舱列宽/行高 * 与顶层 Viewbox 一并缩放,圆形皿不变形、不溢出。ClipToBounds 兜底:即便极端比例下
  106. 舱控件按 Uniform 居中后亦不会越界绘制,确保零滚动。业务绑定(ExDish*/ExHouse*/ClickHouseEvent)不动。 -->
  107. <Grid Grid.Row="2" ClipToBounds="True" Background="{StaticResource BorderStageFill}">
  108. <Grid.RowDefinitions>
  109. <RowDefinition/>
  110. <RowDefinition Height="1"/>
  111. <RowDefinition Height="1"/>
  112. <RowDefinition/>
  113. </Grid.RowDefinitions>
  114. <Grid.ColumnDefinitions>
  115. <ColumnDefinition/>
  116. <ColumnDefinition Width="1"/>
  117. <ColumnDefinition Width="1"/>
  118. <ColumnDefinition/>
  119. <ColumnDefinition Width="1"/>
  120. <ColumnDefinition Width="1"/>
  121. <ColumnDefinition/>
  122. <ColumnDefinition Width="1"/>
  123. <ColumnDefinition Width="1"/>
  124. <ColumnDefinition/>
  125. <ColumnDefinition Width="1"/>
  126. <ColumnDefinition Width="1"/>
  127. <ColumnDefinition/>
  128. </Grid.ColumnDefinitions>
  129. <!--竖线-->
  130. <Border Grid.Column="1" Grid.RowSpan="4" Background="#FFFFFF"/>
  131. <Border Grid.Column="2" Grid.RowSpan="4" Background="#DFE0E4"/>
  132. <Border Grid.Column="4" Grid.RowSpan="4" Background="#FFFFFF"/>
  133. <Border Grid.Column="5" Grid.RowSpan="4" Background="#DFE0E4"/>
  134. <Border Grid.Column="7" Grid.RowSpan="4" Background="#FFFFFF"/>
  135. <Border Grid.Column="8" Grid.RowSpan="4" Background="#DFE0E4"/>
  136. <Border Grid.Column="10" Grid.RowSpan="4" Background="#FFFFFF"/>
  137. <Border Grid.Column="11" Grid.RowSpan="4" Background="#DFE0E4"/>
  138. <!--横线-->
  139. <Border Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="13" Background="#FFFFFF"/>
  140. <Border Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="13" Background="#DDDEE0"/>
  141. <customUserControl:CustomHouseInfo x:Name="_HouseInfo2" HouseSn="2" Grid.Row="0" Grid.Column="0" ClickHouseEvent="CustomHouseInfo_ClickHouseEvent" ExDishSource="{Binding ExDish2}" ExHouseSource="{Binding ExHouse2}"/>
  142. <customUserControl:CustomHouseInfo x:Name="_HouseInfo4" HouseSn="4" Grid.Row="0" Grid.Column="3" ClickHouseEvent="CustomHouseInfo_ClickHouseEvent" ExDishSource="{Binding ExDish4}" ExHouseSource="{Binding ExHouse4}"/>
  143. <customUserControl:CustomHouseInfo x:Name="_HouseInfo6" HouseSn="6" Grid.Row="0" Grid.Column="6" ClickHouseEvent="CustomHouseInfo_ClickHouseEvent" ExDishSource="{Binding ExDish6}" ExHouseSource="{Binding ExHouse6}"/>
  144. <customUserControl:CustomHouseInfo x:Name="_HouseInfo8" HouseSn="8" Grid.Row="0" Grid.Column="9" ClickHouseEvent="CustomHouseInfo_ClickHouseEvent" ExDishSource="{Binding ExDish8}" ExHouseSource="{Binding ExHouse8}"/>
  145. <customUserControl:CustomHouseInfo x:Name="_HouseInfo10" HouseSn="10" Grid.Row="0" Grid.Column="12" ClickHouseEvent="CustomHouseInfo_ClickHouseEvent" ExDishSource="{Binding ExDish10}" ExHouseSource="{Binding ExHouse10}"/>
  146. <customUserControl:CustomHouseInfo x:Name="_HouseInfo1" HouseSn="1" Grid.Row="3" Grid.Column="0" ClickHouseEvent="CustomHouseInfo_ClickHouseEvent" ExDishSource="{Binding ExDish1}" ExHouseSource="{Binding ExHouse1}"/>
  147. <customUserControl:CustomHouseInfo x:Name="_HouseInfo3" HouseSn="3" Grid.Row="3" Grid.Column="3" ClickHouseEvent="CustomHouseInfo_ClickHouseEvent" ExDishSource="{Binding ExDish3}" ExHouseSource="{Binding ExHouse3}"/>
  148. <customUserControl:CustomHouseInfo x:Name="_HouseInfo5" HouseSn="5" Grid.Row="3" Grid.Column="6" ClickHouseEvent="CustomHouseInfo_ClickHouseEvent" ExDishSource="{Binding ExDish5}" ExHouseSource="{Binding ExHouse5}"/>
  149. <customUserControl:CustomHouseInfo x:Name="_HouseInfo7" HouseSn="7" Grid.Row="3" Grid.Column="9" ClickHouseEvent="CustomHouseInfo_ClickHouseEvent" ExDishSource="{Binding ExDish7}" ExHouseSource="{Binding ExHouse7}"/>
  150. <customUserControl:CustomHouseInfo x:Name="_HouseInfo9" HouseSn="9" Grid.Row="3" Grid.Column="12" ClickHouseEvent="CustomHouseInfo_ClickHouseEvent" ExDishSource="{Binding ExDish9}" ExHouseSource="{Binding ExHouse9}"/>
  151. </Grid>
  152. <!--底部菜单-->
  153. <!-- M4-02-1:底部导航是最高频触控区。去写死 Width(4 列 * 已等分,宽随列弹性);
  154. Height(写死)→ MinHeight(弹性宽 + 高度下限)。MinHeight=324 既保持设计视觉、又远高于
  155. 触控基准 TouchMinSize(48),经顶层 Viewbox 等比后实际触控热区更大。事件 Click 不动。 -->
  156. <Grid Grid.Row="3" Background="{StaticResource BorderMenuFill}">
  157. <Grid.ColumnDefinitions>
  158. <ColumnDefinition/>
  159. <ColumnDefinition/>
  160. <ColumnDefinition/>
  161. <ColumnDefinition/>
  162. </Grid.ColumnDefinitions>
  163. <customControl:ButtonTopImage Grid.Column="0" Content="{DynamicResource C0141}" Click="DishRecord_Click" MinHeight="324" IconWidth="105" IconHeight="112" FontSize="32" FontWeight="Medium" Foreground="#0B1B31" BorderThickness="0" Background="Transparent" IconSource="/ivf_tl_Operate;component/Resources/Image/menu_history_on.png" IconMargin="0 0 0 20"/>
  164. <customControl:ButtonTopImage Grid.Column="1" Content="{DynamicResource C0142}" Click="Chart_Click" MinHeight="324" IconWidth="105" IconHeight="112" FontSize="32" FontWeight="Medium" Foreground="#0B1B31" BorderThickness="0" Background="Transparent" IconSource="/ivf_tl_Operate;component/Resources/Image/menu_house_on.png" IconMargin="0 0 0 20"/>
  165. <customControl:ButtonTopImage Grid.Column="2" Content="{DynamicResource C0143}" Click="Setting_Click" MinHeight="324" IconWidth="105" IconHeight="112" FontSize="32" FontWeight="Medium" Foreground="#0B1B31" BorderThickness="0" Background="Transparent" IconSource="/ivf_tl_Operate;component/Resources/Image/menu_setting_on.png" IconMargin="0 0 0 20"/>
  166. <!--<Button Grid.Column="1" Click="Button_Click" Height="324" Width="456" FontSize="32" FontWeight="Medium" Foreground="#0B1B31" BorderThickness="0" Background="Transparent">
  167. <StackPanel Orientation="Horizontal">
  168. <Rectangle Fill="#555555" Width="90" Height="10"/>
  169. <TextBlock Margin="20 0 0 0" Text="最小化"/>
  170. </StackPanel>
  171. </Button>-->
  172. <customControl:ButtonTopImage Grid.Column="3" Content="admin" Click="User_Click" MinHeight="324" IconWidth="105" IconHeight="112" FontSize="32" FontWeight="Medium" Foreground="#0B1B31" BorderThickness="0" Background="Transparent" IconSource="/ivf_tl_Operate;component/Resources/Image/user_photo.png" IconMargin="0 0 0 20"/>
  173. </Grid>
  174. </Grid>
  175. </UserControl>