UCRunConfig.xaml 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375
  1. <UserControl x:Class="MV485.uc.UCRunConfig"
  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:MV485.uc"
  7. xmlns:zdfflatui="clr-namespace:ZdfFlatUI;assembly=WPF.UI"
  8. xmlns:wpftoolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
  9. mc:Ignorable="d"
  10. Padding="5,2,5,5"
  11. Background="WhiteSmoke"
  12. SizeChanged="UserControl_SizeChanged"
  13. d:DesignHeight="700" d:DesignWidth="1366">
  14. <Grid>
  15. <Grid.RowDefinitions>
  16. <RowDefinition Height="Auto" />
  17. <RowDefinition Height="*" />
  18. </Grid.RowDefinitions>
  19. <!-- 控制面板 -->
  20. <StackPanel Orientation="Horizontal" Margin="10 10 10 5" >
  21. <TextBlock Text="端口号: " VerticalAlignment="Center" FontSize="14px" Margin="0 0 0 0" />
  22. <ComboBox x:Name="cmbPortNames" DisplayMemberPath="ModelName" SelectedValuePath="PortName"
  23. SelectionChanged="CmbPortNames_SelectionChanged"
  24. Width="180" Padding="5 0 0 0" Margin="2" FontSize="13px" VerticalContentAlignment="Center"/>
  25. <zdfflatui:FlatButton x:Name="btnRefreshPorts" HorizontalAlignment="Center" Background="#2196F3"
  26. Foreground="White" Content="🔄" ToolTip="刷新并重新加载串口列表"
  27. Click="btnRefreshPorts_Click" Margin="5 0 5 0" Width="30" Height="30" FontSize="20px" />
  28. <TextBlock Text="设备波特率: " VerticalAlignment="Center" FontSize="14" Margin="10 0 0 0" />
  29. <ComboBox x:Name="cmbBaudrate"
  30. Width="100" Padding="5 0 0 0" Margin="2" FontSize="13px" VerticalContentAlignment="Center"/>
  31. <TextBlock Text="设备地址: " VerticalAlignment="Center" FontSize="14" Margin="10 0 0 0" />
  32. <ComboBox x:Name="cmbDevId" Width="60" Padding="5 0 0 0" Margin="0" FontSize="14"
  33. PreviewTextInput="TextBox_PreviewTextInput" VerticalContentAlignment="Center" Height="28" IsEditable="True"/>
  34. <zdfflatui:FlatButton x:Name="btnTestConnect" Background="#4CAF50" Foreground="White" Content="设备通断测试" Width="120"
  35. Click="BtnTestConnect_Click" Padding="10 0 10 0" Height="28" FontSize="13" Margin="10 0 0 0" />
  36. <zdfflatui:FlatButton x:Name="btnClearLog" HorizontalAlignment="Center" Background="#FF4C4C" Foreground="White" Width="80"
  37. Content="清空日志" Click="btnClearLog_Click" Padding="10 0 10 0" Height="28" FontSize="13" Margin="10 0 0 0" />
  38. </StackPanel>
  39. <Border Grid.Row="1" Margin="10" BorderBrush="DarkGray" BorderThickness="1">
  40. <Grid>
  41. <Grid.ColumnDefinitions>
  42. <ColumnDefinition Width="400" />
  43. <ColumnDefinition Width="350" />
  44. <ColumnDefinition Width="*" />
  45. </Grid.ColumnDefinitions>
  46. <Border Grid.Column="0" BorderBrush="DarkGray" BorderThickness="0 0 1 0" Background="White">
  47. <StackPanel Orientation="Vertical" Margin="0 0 0 0">
  48. <Grid Height="35" Margin="10 0 0 0">
  49. <TextBlock Text="抄表器读数项: " FontSize="14" FontWeight="Bold"
  50. VerticalAlignment="Center" Foreground="DarkBlue" />
  51. </Grid>
  52. <Grid Height="50">
  53. <Grid.ColumnDefinitions>
  54. <ColumnDefinition Width="75" />
  55. <ColumnDefinition Width="*" />
  56. <ColumnDefinition Width="75" />
  57. <ColumnDefinition Width="*" />
  58. </Grid.ColumnDefinitions>
  59. <TextBlock Grid.Column="0" Text="485地址" VerticalAlignment="Center" FontSize="14" Margin="10 0 0 0" />
  60. <TextBox Grid.Column="1" IsReadOnly="True" x:Name="txtReadDeviceAddress" VerticalContentAlignment="Center"
  61. Text="1" FontSize="14" Height="26" Padding="5 0 0 0" Margin="0 0 10 0" />
  62. <TextBlock Grid.Column="2" Text="设备序号" Margin="10 0 0 0" VerticalAlignment="Center" FontSize="14" />
  63. <TextBox Grid.Column="3" IsReadOnly="True" x:Name="txtDeviceSn" VerticalContentAlignment="Center"
  64. Text="240505102203" FontSize="14" Height="26" Padding="5 0 0 0" Margin="0 0 10 0" />
  65. </Grid>
  66. <Grid Height="50">
  67. <Grid.ColumnDefinitions>
  68. <ColumnDefinition Width="75" />
  69. <ColumnDefinition Width="*" />
  70. <ColumnDefinition Width="75" />
  71. <ColumnDefinition Width="*" />
  72. </Grid.ColumnDefinitions>
  73. <TextBlock Grid.Column="0" Text="固件版本" VerticalAlignment="Center" FontSize="14" Margin="10 0 0 0" />
  74. <TextBox Grid.Column="1" IsReadOnly="True" x:Name="txtFireware" VerticalContentAlignment="Center"
  75. Text="240505102203" FontSize="14" Height="26" Padding="5 0 0 0" Margin="0 0 10 0" />
  76. <TextBlock Grid.Column="2" Text="水表类型" Margin="10 0 0 0" VerticalAlignment="Center" FontSize="14" />
  77. <TextBox Grid.Column="3" IsReadOnly="True" x:Name="txtMeterType" VerticalContentAlignment="Center" Margin="0 0 10 0"
  78. HorizontalContentAlignment="Left" Text="数字+指针" FontSize="14" Height="26" Padding="5 0 5 0" />
  79. </Grid>
  80. <Grid Height="50">
  81. <Grid.ColumnDefinitions>
  82. <ColumnDefinition Width="75" />
  83. <ColumnDefinition Width="*" />
  84. <ColumnDefinition Width="75" />
  85. <ColumnDefinition Width="*" />
  86. </Grid.ColumnDefinitions>
  87. <TextBlock Grid.Column="0" Text="累计用量" Margin="10 0 0 0" VerticalAlignment="Center" FontSize="14" />
  88. <Grid Grid.Column="1" Margin="0 0 10 0">
  89. <Grid.ColumnDefinitions>
  90. <ColumnDefinition Width="*" />
  91. <ColumnDefinition Width="Auto" />
  92. </Grid.ColumnDefinitions>
  93. <TextBox Grid.Column="0" IsReadOnly="True" x:Name="txtAIResult" VerticalContentAlignment="Center"
  94. HorizontalContentAlignment="Left" Text="1345698.1" FontSize="14" Height="26" Padding="5 0 5 0" />
  95. <TextBlock Grid.Column="1" Text="m³" FontSize="14" Foreground="Black" Margin="5 0 0 0"
  96. VerticalAlignment="Center" />
  97. </Grid>
  98. <TextBlock Grid.Column="2" Text="抄表时间" Margin="10 0 0 0" VerticalAlignment="Center" FontSize="14" Foreground="Black" />
  99. <TextBox Grid.Column="3" IsReadOnly="True" x:Name="txtSampleTime" VerticalContentAlignment="Center"
  100. HorizontalContentAlignment="Left" Margin="0 0 10 0"
  101. Text="2024-10-12 24:00" FontSize="13" Height="26" Padding="0 0 0 0" />
  102. </Grid>
  103. <Grid Height="50">
  104. <Grid.ColumnDefinitions>
  105. <ColumnDefinition Width="75" />
  106. <ColumnDefinition Width="*" />
  107. </Grid.ColumnDefinitions>
  108. <TextBlock Grid.Column="0" Text="结果说明" Margin="10 0 0 0" VerticalAlignment="Center" FontSize="14" />
  109. <TextBox Grid.Column="1" IsReadOnly="True" x:Name="txtMeterResult" VerticalContentAlignment="Center"
  110. HorizontalContentAlignment="Left" Margin="0 0 10 0"
  111. Text="抄表器位移,需重新配置" FontSize="13" Height="26" Padding="5 0 0 0" />
  112. </Grid>
  113. <Grid Height="40" Margin="0 0 0 0">
  114. <Grid.ColumnDefinitions>
  115. <ColumnDefinition Width="*" />
  116. <ColumnDefinition Width="*" />
  117. </Grid.ColumnDefinitions>
  118. <zdfflatui:FlatButton Grid.Column="0" x:Name="btnReadResult" Background="#4CAF50" Foreground="White"
  119. Content="读取抄表器数据" Click="BtnReadResult_Click"
  120. Height="28" FontSize="14" Margin="10 0 10 0" />
  121. <zdfflatui:FlatButton Grid.Column="1" x:Name="btnReadImage" Background="#4CAF50" Foreground="White"
  122. Content="读取抄表器照片" Click="BtnReadImage_Click"
  123. Height="28" FontSize="14" Margin="10 0 10 0" />
  124. </Grid>
  125. <Grid Height="35" Margin="10 0 0 0">
  126. <StackPanel Orientation="Horizontal">
  127. <TextBlock Text="抄表器所摄图像: " FontSize="14" FontWeight="Bold"
  128. VerticalAlignment="Center" Foreground="DarkBlue" />
  129. <TextBlock Text="(点击图片看大图) " FontSize="14" FontWeight="Normal"
  130. VerticalAlignment="Center" Foreground="Black" Margin="10 0 0 0"/>
  131. </StackPanel>
  132. </Grid>
  133. <Border BorderBrush="#D3D3D3" BorderThickness="1" Margin="10 0 10 0" Padding="0 5 0 5">
  134. <Image x:Name="imgMeter" Width="360" Height="270">
  135. </Image>
  136. </Border>
  137. <Grid Height="40" Margin="0 0 10 0">
  138. </Grid>
  139. </StackPanel>
  140. </Border>
  141. <Border Grid.Column="1" BorderBrush="DarkGray" BorderThickness="0 0 1 0" Background="White" Padding="5 0 0 0">
  142. <StackPanel Orientation="Vertical" Margin="0 0 0 0">
  143. <Grid Height="35" Margin="10 0 10 0">
  144. <TextBlock Text="抄表器配置项: " FontSize="14" FontWeight="Bold"
  145. VerticalAlignment="Center" Foreground="DarkBlue" />
  146. </Grid>
  147. <Grid Height="50" Margin="10 0 10 0">
  148. <Grid.ColumnDefinitions>
  149. <ColumnDefinition Width="75" />
  150. <ColumnDefinition Width="*" />
  151. <ColumnDefinition Width="80" />
  152. </Grid.ColumnDefinitions>
  153. <TextBlock Grid.Column="0" Text="水表类型" VerticalAlignment="Center" FontSize="14" />
  154. <ComboBox x:Name="cmbMeterType" Height="26" FontSize="14px" Grid.Column="1"
  155. SelectionChanged="CmbMeterType_SelectionChanged"
  156. SelectedValuePath="Key" DisplayMemberPath="Value" />
  157. <Button x:Name="btnMeterType" Click="BtnMeterType_Click"
  158. Grid.Column="2" Content="说明示例" BorderThickness="0 0 0 1" BorderBrush="Blue"
  159. Height="20" Width="60" Background="Transparent" Foreground="Blue" FontSize="14" />
  160. </Grid>
  161. <Grid Height="50" Margin="10 0 10 0">
  162. <Grid.ColumnDefinitions>
  163. <ColumnDefinition Width="75" />
  164. <ColumnDefinition Width="*" />
  165. <ColumnDefinition Width="80" />
  166. </Grid.ColumnDefinitions>
  167. <TextBlock Grid.Column="0" Text="水表口径" VerticalAlignment="Center" FontSize="14" />
  168. <ComboBox Grid.Column="1" x:Name="cmbFlowRate" Height="26" FontSize="14px"
  169. IsEditable="True" PreviewTextInput="TextBox_PreviewTextInput"
  170. SelectionChanged="CmbFlowRate_SelectionChanged"
  171. SelectedValuePath="Key" DisplayMemberPath="Value" />
  172. <Button x:Name="btnFlowRate" Click="BtnFlowRate_Click"
  173. Grid.Column="2" Content="说明示例" BorderThickness="0 0 0 1" BorderBrush="Blue"
  174. Height="20" Width="60" Background="Transparent" Foreground="Blue" FontSize="14" />
  175. </Grid>
  176. <Grid Height="50" Margin="10 0 10 0" x:Name="grdNumCount">
  177. <Grid.ColumnDefinitions>
  178. <ColumnDefinition Width="75" />
  179. <ColumnDefinition Width="*" />
  180. <ColumnDefinition Width="80" />
  181. </Grid.ColumnDefinitions>
  182. <TextBlock Grid.Column="0" Text="数字个数" VerticalAlignment="Center" FontSize="14" />
  183. <ComboBox Grid.Column="1" x:Name="cmbNumCount" Height="26" FontSize="14px"
  184. IsEditable="True" PreviewTextInput="TextBox_PreviewTextInput"/>
  185. <Button x:Name="btnNumCount" Click="BtnNumCount_Click"
  186. Grid.Column="2" Content="说明示例" BorderThickness="0 0 0 1" BorderBrush="Blue"
  187. Height="20" Width="60" Background="Transparent" Foreground="Blue" FontSize="14" />
  188. </Grid>
  189. <Grid Height="50" Margin="10 0 10 0" x:Name="grdIndCount">
  190. <Grid.ColumnDefinitions>
  191. <ColumnDefinition Width="75" />
  192. <ColumnDefinition Width="*" />
  193. <ColumnDefinition Width="80" />
  194. </Grid.ColumnDefinitions>
  195. <TextBlock Grid.Column="0" Text="指针个数" VerticalAlignment="Center" FontSize="14" />
  196. <ComboBox Grid.Column="1" x:Name="cmbIndCount" Height="26" FontSize="14px"
  197. IsEditable="True" PreviewTextInput="TextBox_PreviewTextInput"/>
  198. <Button x:Name="btnIndCount" Click="BtnIndCount_Click"
  199. Grid.Column="2" Content="说明示例" BorderThickness="0 0 0 1" BorderBrush="Blue"
  200. Height="20" Width="60" Background="Transparent" Foreground="Blue" FontSize="14" />
  201. </Grid>
  202. <Grid Height="50" Margin="10 0 10 0">
  203. <Grid.ColumnDefinitions>
  204. <ColumnDefinition Width="75" />
  205. <ColumnDefinition Width="*" />
  206. <ColumnDefinition Width="80" />
  207. </Grid.ColumnDefinitions>
  208. <TextBlock Grid.Column="0" Text="亮度系数" VerticalAlignment="Center" FontSize="14" />
  209. <ComboBox Grid.Column="1" x:Name="cmbBrightVal" Height="26" FontSize="14px"
  210. IsEditable="True" PreviewTextInput="CmbBrightVal_PreviewTextInput"
  211. DataObject.Pasting="CmbBrightVal_Pasting"/>
  212. <Button x:Name="btnBrightVal" Click="BtnBrightVal_Click"
  213. Grid.Column="2" Content="说明示例" BorderThickness="0 0 0 1" BorderBrush="Blue"
  214. Height="20" Width="60" Background="Transparent" Foreground="Blue" FontSize="14" />
  215. </Grid>
  216. <Grid Height="50" Margin="10 0 10 0">
  217. <Grid.ColumnDefinitions>
  218. <ColumnDefinition Width="75" />
  219. <ColumnDefinition Width="*" />
  220. <ColumnDefinition Width="30" />
  221. <ColumnDefinition Width="80" />
  222. </Grid.ColumnDefinitions>
  223. <TextBlock x:Name="txtLastUnitTitle" Grid.Column="0" Text="尾数单位" VerticalAlignment="Center" FontSize="14" TextWrapping="Wrap" />
  224. <ComboBox Grid.Column="1" x:Name="cmbLastUnit" SelectedValuePath="Key" DisplayMemberPath="Value" Height="26" FontSize="14px"/>
  225. <TextBlock Grid.Column="2" Text="m³" FontSize="14" Foreground="Black" Margin="5 0 0 0"
  226. VerticalAlignment="Center" />
  227. <Button x:Name="btnLastUnit" Click="BtnLastUnit_Click"
  228. Grid.Column="3" Content="说明示例" BorderThickness="0 0 0 1" BorderBrush="Blue"
  229. Height="20" Width="60" Background="Transparent" Foreground="Blue" FontSize="14" />
  230. </Grid>
  231. <Grid Height="50" Margin="10 0 10 0">
  232. <Grid.ColumnDefinitions>
  233. <ColumnDefinition Width="75" />
  234. <ColumnDefinition Width="*" />
  235. <ColumnDefinition Width="30" />
  236. <ColumnDefinition Width="80" />
  237. </Grid.ColumnDefinitions>
  238. <TextBlock Grid.Column="0" Text="表底读数" VerticalAlignment="Center" FontSize="14" />
  239. <TextBox Grid.Column="1" x:Name="txtLastValue" Height="26" Padding="2" FontSize="14px" />
  240. <TextBlock Grid.Column="2" Text="m³" FontSize="14" Foreground="Black" Margin="5 0 0 0"
  241. VerticalAlignment="Center" />
  242. <Button x:Name="btnLastValue" Click="BtnLastValue_Click"
  243. Grid.Column="3" Content="说明示例" BorderThickness="0 0 0 1" BorderBrush="Blue"
  244. Height="20" Width="60" Background="Transparent" Foreground="Blue" FontSize="14" />
  245. </Grid>
  246. <Grid Height="50" Margin="10 0 10 0">
  247. <Grid.ColumnDefinitions>
  248. <ColumnDefinition Width="75" />
  249. <ColumnDefinition Width="*" />
  250. <ColumnDefinition Width="80" />
  251. </Grid.ColumnDefinitions>
  252. <TextBlock Grid.Column="0" Text="读数时间" VerticalAlignment="Center" FontSize="14" />
  253. <!--<ComboBox Grid.Column="1" x:Name="cmbLastUnit" Height="26" FontSize="14px"/>-->
  254. <wpftoolkit:DateTimePicker Grid.Column="1" x:Name="dtpLastValueTime" Height="26"
  255. TextAlignment="Left" FontSize="14" Format="Custom" FormatString="yyyy-MM-dd HH:mm"/>
  256. <Button x:Name="btnLastValueTime" Click="BtnLastValueTime_Click"
  257. Grid.Column="2" Content="说明示例" BorderThickness="0 0 0 1" BorderBrush="Blue"
  258. Height="20" Width="60" Background="Transparent" Foreground="Blue" FontSize="14" />
  259. </Grid>
  260. <Grid Height="40" Margin="10 0 10 0">
  261. <Button x:Name="btnMarkMeter" Click="BtnMarkMeter_Click"
  262. Grid.Column="2" Content="根据水表照片标定位置" BorderThickness="0 0 0 1" BorderBrush="Blue" HorizontalAlignment="Left"
  263. Height="20" Background="Transparent" Foreground="Blue" FontSize="14" />
  264. </Grid>
  265. <Grid Height="50" Margin="10 0 10 0">
  266. <Grid.ColumnDefinitions>
  267. <ColumnDefinition Width="75" />
  268. <ColumnDefinition Width="*" />
  269. </Grid.ColumnDefinitions>
  270. <TextBlock Grid.Column="0" Text="表盘范围" VerticalAlignment="Center" FontSize="14" />
  271. <TextBox Grid.Column="1" x:Name="txtMeterRegion" Height="26" Padding="2" FontSize="14px" IsReadOnly="True" />
  272. </Grid>
  273. <Grid Height="50" Margin="10 0 10 0">
  274. <Grid.ColumnDefinitions>
  275. <ColumnDefinition Width="75" />
  276. <ColumnDefinition Width="*" />
  277. </Grid.ColumnDefinitions>
  278. <TextBlock x:Name="txtFeatureRegionTitle" Grid.Column="0" Text="数字范围" VerticalAlignment="Center" FontSize="14" TextWrapping="Wrap" />
  279. <TextBox Grid.Column="1" x:Name="txtFeatureRegion" Height="26" Padding="2" FontSize="14px" IsReadOnly="True" />
  280. </Grid>
  281. <Grid Height="40">
  282. <Grid.ColumnDefinitions>
  283. <ColumnDefinition Width="*" />
  284. <ColumnDefinition Width="*" />
  285. </Grid.ColumnDefinitions>
  286. <zdfflatui:FlatButton Grid.Column="0" x:Name="btnReadConfig" Background="#4CAF50" Foreground="White"
  287. Content="读取抄表器运行参数" Click="BtnReadConfig_Click"
  288. Height="28" FontSize="14" Margin="10 0 10 0" />
  289. <zdfflatui:FlatButton Grid.Column="1" x:Name="btnSetConfig" Background="#2196F3" Foreground="White"
  290. Content="设置抄表器运行参数" Click="BtnSetConfig_Click"
  291. Height="28" FontSize="14" Margin="10 0 10 0" />
  292. </Grid>
  293. </StackPanel>
  294. </Border>
  295. <ListView x:Name="lvLogs" Grid.Column="3" Margin="0" BorderThickness="0">
  296. <ListView.Resources>
  297. <!-- 设置标题字体样式 -->
  298. <Style TargetType="GridViewColumnHeader">
  299. <Setter Property="FontSize" Value="14"/>
  300. <Setter Property="Foreground" Value="DarkBlue"/>
  301. <Setter Property="Height" Value="26"/>
  302. <!-- 设置标题的高度 -->
  303. <Setter Property="VerticalAlignment" Value="Center"/>
  304. <!-- 设置垂直对齐方式 -->
  305. </Style>
  306. <!-- 设置内容字体样式 -->
  307. <Style TargetType="TextBlock">
  308. <Setter Property="FontSize" Value="13"/>
  309. <Setter Property="Foreground" Value="Black"/>
  310. </Style>
  311. </ListView.Resources>
  312. <ListView.View>
  313. <GridView>
  314. <GridViewColumn Header="时间" Width="120" DisplayMemberBinding="{Binding Time}"/>
  315. <!--<GridViewColumn Header="消息" Width="500" DisplayMemberBinding="{Binding Message}"/>-->
  316. <!-- "消息" 列,支持换行 -->
  317. <GridViewColumn Header="消息" Width="Auto">
  318. <GridViewColumn.CellTemplate>
  319. <DataTemplate>
  320. <TextBlock Text="{Binding Message}" TextWrapping="Wrap"/>
  321. </DataTemplate>
  322. </GridViewColumn.CellTemplate>
  323. </GridViewColumn>
  324. </GridView>
  325. </ListView.View>
  326. </ListView>
  327. </Grid>
  328. </Border>
  329. </Grid>
  330. </UserControl>