Files
DevToolsAvalonia/常用工具集/Views/01PLC通信调试/MC3E服务模拟.axaml
2025-08-26 08:37:44 +08:00

68 lines
3.5 KiB
XML

<UserControl xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="715"
xmlns:vm ="clr-namespace:常用工具集.ViewModel._01PLC通信调试"
x:Class="常用工具集.MC3E服务模拟"
xmlns:Utils="clr-namespace:常用工具集.Utility"
xmlns:i="clr-namespace:Avalonia.Xaml.Interactivity;assembly=Avalonia.Xaml.Interactivity"
x:CompileBindings="True"
x:DataType="vm:MC3E服务模拟ViewModel">
<!-- xmlns:b="clr-namespace:Avalonia.Xaml.Behaviors;assembly=Avalonia.Xaml.Behaviors" -->
<UserControl.DataContext>
<vm:MC3E服务模拟ViewModel />
</UserControl.DataContext>
<Grid RowDefinitions="40,350,160,*">
<Grid Grid.Row="0">
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="端口号:" Margin="25,16,0,0"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="75,10,0,0" TextWrapping="Wrap" Text="{Binding Port}" VerticalAlignment="Top" Width="86" />
<Button Content="{Binding ButtonText}" Command="{Binding StartCmd}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="190,10,0,0" Width="90" />
<TextBlock HorizontalAlignment="Left" Margin="315,16,0,0" TextWrapping="Wrap" Text="移动到地址" VerticalAlignment="Top" Width="80" />
<NumericUpDown IsEnabled="{Binding Enabled2}" Value="{Binding StartAddress}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="405,10,0,0" Width="115" Height="35" Maximum="65515" Minimum="1" />
</Grid>
<Grid Grid.Row="1" ColumnDefinitions="*,*,*">
<Border Theme="{StaticResource CardBorder}" Grid.Column="0" Margin="5,5,5,5">
<Grid>
<TextBlock HorizontalAlignment="Center" Margin="0,-20,0,0" TextWrapping="Wrap" Text="数据" VerticalAlignment="Top"/>
<DataGrid IsEnabled="{Binding Enabled2}" HeadersVisibility="All"
ItemsSource="{Binding List1}"
IsReadOnly="True"
IsHitTestVisible="False"
Background="White" BorderThickness="1"
RowHeight="30" AutoGenerateColumns="False"
SelectionMode="Single">
<DataGrid.Columns>
<DataGridTextColumn
Width="*"
x:DataType="vm:MyDataGrid"
Binding="{Binding Address}"
Header="地址" />
<DataGridTextColumn
Width="*"
x:DataType="vm:MyDataGrid"
Binding="{Binding Value2}"
Header="数据" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Border>
</Grid>
<Border Theme="{StaticResource CardBorder}" Grid.Row="2">
<Grid>
<TextBlock HorizontalAlignment="Center" Margin="0,-20,0,0" TextWrapping="Wrap" Text="运行日志" VerticalAlignment="Top"/>
<TextBox x:Name="TBInfo" Height="130" TextWrapping="Wrap" ScrollViewer.VerticalScrollBarVisibility="Auto" Text="{Binding Message}" Margin="5,0,5,0" HorizontalContentAlignment="Left" VerticalContentAlignment="Top">
<i:Interaction.Behaviors>
<DataTriggerBehavior Binding="{Binding Text.Length, ElementName=TBInfo}" ComparisonCondition="NotEqual" Value="0">
<ChangePropertyAction TargetObject="TBInfo" PropertyName="CaretIndex" Value="{Binding ElementName=TBInfo, Path=Text.Length}"/>
<CallMethodAction MethodName="ScrollToHome" />
</DataTriggerBehavior>
</i:Interaction.Behaviors>
</TextBox>
</Grid>
</Border>
</Grid>
</UserControl>