1:nuget添加依赖
新建项目后,添加NModbus,
2:测试软件:Modbus slave ,新建一个从站,并连接
3:通信测试
4:本次学到的内容
4.1:用的DockPanel标签,使其能自适应。
4.2:ContentControl标签,切换主页面布局
4.3:mvvm架构,绑定数据以及操作
cs
<Window x:Class="Device_Data.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Device_Data"
mc:Ignorable="d"
Title="自动化设备" Height="auto" Width="auto" MinWidth="800" MinHeight="800" Background="#E1F5FE">
<Grid>
<DockPanel LastChildFill="true">
<!--LastChildFill="true" true 最后一个子元素填充剩余空间-->
<Border DockPanel.Dock="Left" BorderBrush="Black" BorderThickness="1" Width="100">
<StackPanel>
<Button Content="主页面" Height="30" Width="75" Margin="0,20,0,0"/>
<Button Click="show_console" Command="{Binding consoleView}" Content="输出" Height="30" Width="75" Margin="0,20,0,0"/>
<Button Click="show_data" Command="{Binding dataView}" Content="看板" Height="30" Width="75" Margin="0,20,0,0"/>
</StackPanel>
</Border>
<Border DockPanel.Dock="Top" BorderBrush="Black" BorderThickness="1" Width="auto" Height="50">
<StackPanel Orientation="Horizontal">
<Label Content="IP:" Height="auto" Width="auto" Margin="10"/>
<TextBox Name="IP_Data" Height="20" TextWrapping="Wrap" Text="192.168.10.246" Width="auto" MinWidth="100"/>
<Label Content="端口:" Height="auto" Width="auto" Margin="10"/>
<TextBox Name="Port" Height="20" TextWrapping="Wrap" Text="502" Width="auto" MinWidth="50"/>
<Button Click="link" Content="连接" Height="20" Width="56" Margin="50,10,1,10"/>
<Button Click="stop_link" Content="断开连接" Height="20" Width="56" Margin="20,10,1,10"/>
<Button Click="read_data" Content="开始接收" Height="20" Width="56" Margin="20,10,1,10"/>
<Button Click="stop_read" Content="停止接收" Height="20" Width="56" Margin="20,10,1,10"/>
</StackPanel>
</Border>
<Border DockPanel.Dock="Top" BorderBrush="Black" BorderThickness="1" Width="auto" MinHeight="500">
<ContentControl x:Name="mainConten"/>
</Border>
<Border DockPanel.Dock="Top" BorderBrush="Black" BorderThickness="1" Height="40">
<StackPanel HorizontalAlignment="Left" VerticalAlignment="Bottom" Height="30" Width="auto" Orientation="Horizontal">
<Label Content="控制台" Height="28" Width="87" FontSize="15"/>
<Button Click="clear" Content="清空" Height="30" Width="87"/>
</StackPanel>
</Border>
<Border DockPanel.Dock="Bottom" Background="White" BorderBrush="Black" BorderThickness="1" Width="auto" Height="auto" Margin="10,10,10,10">
<TextBox Name="result" TextWrapping="Wrap" Text="" TextChanged="TextBox_TextChanged"/>
</Border>
</DockPanel>
</Grid>
</Window>