Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

169 рядки
6.6 KiB

  1. <UserControl
  2. x:Class="ModbusDemo.VIew.RegisterUC"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  7. xmlns:local="clr-namespace:ModbusDemo.VIew"
  8. xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
  9. xmlns:viewmodel="clr-namespace:ModbusDemo.VIewModel"
  10. d:DataContext="{d:DesignInstance Type=viewmodel:RegisterUCViewModel,
  11. IsDesignTimeCreatable=True}"
  12. d:DesignHeight="450"
  13. d:Background="White"
  14. d:DesignWidth="800"
  15. mc:Ignorable="d">
  16. <UserControl.Resources>
  17. <Style TargetType="TextBox">
  18. <Setter Property="Margin" Value="0,5" />
  19. <Setter Property="FontSize" Value="14" />
  20. </Style>
  21. </UserControl.Resources>
  22. <Grid>
  23. <Grid.RowDefinitions>
  24. <RowDefinition Height="60">
  25. </RowDefinition>
  26. <RowDefinition>
  27. </RowDefinition>
  28. <RowDefinition>
  29. </RowDefinition>
  30. <RowDefinition>
  31. </RowDefinition>
  32. </Grid.RowDefinitions>
  33. <TextBlock
  34. HorizontalAlignment="Center"
  35. VerticalAlignment="Center"
  36. Text="{Binding SerialPortInfo}"
  37. FontWeight="Black"
  38. FontSize="16">
  39. </TextBlock>
  40. <!-- 定义读取的数据 -->
  41. <Grid Grid.Row="1">
  42. <Grid.ColumnDefinitions>
  43. <ColumnDefinition>
  44. </ColumnDefinition>
  45. <ColumnDefinition>
  46. </ColumnDefinition>
  47. <ColumnDefinition>
  48. </ColumnDefinition>
  49. <ColumnDefinition>
  50. </ColumnDefinition>
  51. <ColumnDefinition>
  52. </ColumnDefinition>
  53. </Grid.ColumnDefinitions>
  54. <Grid.RowDefinitions>
  55. <RowDefinition>
  56. </RowDefinition>
  57. <RowDefinition Height="60">
  58. </RowDefinition>
  59. </Grid.RowDefinitions>
  60. <StackPanel HorizontalAlignment="Center" Orientation="Vertical">
  61. <TextBlock Margin="20" Text="从站地址">
  62. </TextBlock>
  63. <TextBox Margin="0,-10,0,0" Text="{Binding SlaveAddress}">
  64. </TextBox>
  65. </StackPanel>
  66. <StackPanel Grid.Column="1" HorizontalAlignment="Center" Orientation="Vertical">
  67. <TextBlock Margin="20" Text="起始地址">
  68. </TextBlock>
  69. <TextBox Margin="0,-10,0,0" Text="{Binding StartAddress}">
  70. </TextBox>
  71. </StackPanel>
  72. <StackPanel Grid.Column="2" HorizontalAlignment="Center" Orientation="Vertical">
  73. <TextBlock Margin="20" Text="读取位数">
  74. </TextBlock>
  75. <TextBox Margin="0,-10,0,0" Text="{Binding NumberOfPoints}">
  76. </TextBox>
  77. </StackPanel>
  78. <StackPanel Grid.Row="2" Grid.ColumnSpan="4" HorizontalAlignment="Center" Orientation="Horizontal">
  79. <TextBlock Margin="0,20,0,0" Text="读取结果:" FontWeight="Black" />
  80. <TextBox MinWidth="120" Margin="20,0,0,0" Text="{Binding ReadResult}" Style="{StaticResource MaterialDesignOutlinedTextBox}" />
  81. </StackPanel>
  82. <Button
  83. Grid.Column="4"
  84. Width="80"
  85. Height="30"
  86. materialDesign:ButtonAssist.CornerRadius="15"
  87. Command="{Binding ReadRegisterCmm}"
  88. Content="读取"
  89. Style="{StaticResource MaterialDesignRaisedDarkButton}">
  90. </Button>
  91. </Grid>
  92. <Grid Grid.Row="2">
  93. <Grid.ColumnDefinitions>
  94. <ColumnDefinition>
  95. </ColumnDefinition>
  96. <ColumnDefinition>
  97. </ColumnDefinition>
  98. <ColumnDefinition>
  99. </ColumnDefinition>
  100. <ColumnDefinition>
  101. </ColumnDefinition>
  102. <ColumnDefinition>
  103. </ColumnDefinition>
  104. </Grid.ColumnDefinitions>
  105. <StackPanel HorizontalAlignment="Center" Orientation="Vertical">
  106. <TextBlock Margin="20" Text="从站地址">
  107. </TextBlock>
  108. <TextBox Margin="0,-10,0,0" Text="{Binding WriteSlaveAddress}">
  109. </TextBox>
  110. </StackPanel>
  111. <StackPanel Grid.Column="1" HorizontalAlignment="Center" Orientation="Vertical">
  112. <TextBlock Margin="20" Text="起始地址">
  113. </TextBlock>
  114. <TextBox Margin="0,-10,0,0" Text="{Binding WriteStartAddress}">
  115. </TextBox>
  116. </StackPanel>
  117. <StackPanel Grid.Column="2" HorizontalAlignment="Center" Orientation="Vertical">
  118. <TextBlock Margin="20" Text="写入数据">
  119. </TextBlock>
  120. <TextBox Margin="0,-10,0,0" Text="{Binding WriteData}">
  121. </TextBox>
  122. </StackPanel>
  123. <TextBlock
  124. Grid.Column="3"
  125. Margin="0,-50,0,0"
  126. HorizontalAlignment="Center"
  127. VerticalAlignment="Center"
  128. Text="1代表Ture,0代表flase">
  129. </TextBlock>
  130. <Button
  131. Grid.Column="4"
  132. Width="80"
  133. Height="30"
  134. materialDesign:ButtonAssist.CornerRadius="15"
  135. Command="{Binding WriteRegisterCmm}"
  136. Content="写入"
  137. Style="{StaticResource MaterialDesignRaisedDarkButton}">
  138. </Button>
  139. </Grid>
  140. <Grid Grid.Row="3">
  141. <DataGrid ItemsSource="{Binding ModbusLogList}" AutoGenerateColumns="False" IsReadOnly="True" ColumnWidth="*">
  142. <DataGrid.Columns>
  143. <!-- 操作类型列 -->
  144. <DataGridTextColumn Header="操作类型" Binding="{Binding OperationType}" Width="100" />
  145. <!-- 请求数据列 -->
  146. <DataGridTextColumn Header="请求数据" Binding="{Binding RequestData}" />
  147. <!-- 响应数据列 -->
  148. <DataGridTextColumn Header="响应数据" Binding="{Binding ResponseData}" />
  149. <!-- 操作时间列 -->
  150. <DataGridTextColumn Header="操作时间" Binding="{Binding Time, StringFormat='yyyy-MM-dd HH:mm:ss'}" Width="200"/>
  151. </DataGrid.Columns>
  152. </DataGrid>
  153. </Grid>
  154. </Grid>
  155. </UserControl>