<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Client.Avalonia.Views.DeviceView">
<ScrollViewer>
<StackPanel Margin="12" Spacing="12">
<!-- 注册与鉴权 -->
<Border BorderBrush="{DynamicResource SystemControlForegroundBaseLowBrush}"
BorderThickness="1" CornerRadius="6" Padding="14">
<StackPanel Spacing="10">
<Grid ColumnDefinitions="6,*">
<Border Grid.Column="0" Background="{DynamicResource SystemAccentColor}" CornerRadius="3" />
<Label Grid.Column="1" FontWeight="Bold" FontSize="14" Margin="8,0,0,0"
VerticalAlignment="Center">注册与鉴权</Label>
</Grid>
<StackPanel Spacing="8">
<Grid ColumnDefinitions="110,*">
<Label Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,8,0">省域ID:</Label>
<TextBox Grid.Column="1" Text="{Binding Province}" Watermark="44" />
</Grid>
<Grid ColumnDefinitions="110,*">
<Label Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,8,0">市县域ID:</Label>
<TextBox Grid.Column="1" Text="{Binding City}" Watermark="4403" />
</Grid>
<Grid ColumnDefinitions="110,*">
<Label Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,8,0">制造商:</Label>
<TextBox Grid.Column="1" Text="{Binding Manufacturer}" Watermark="NewLife" />
</Grid>
<Grid ColumnDefinitions="110,*">
<Label Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,8,0">终端型号:</Label>
<TextBox Grid.Column="1" Text="{Binding DeviceModel}" Watermark="JT808-Test" />
</Grid>
<Grid ColumnDefinitions="110,*">
<Label Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,8,0">终端ID:</Label>
<TextBox Grid.Column="1" Text="{Binding DeviceId}" Watermark="TEST001" />
</Grid>
<Grid ColumnDefinitions="110,*">
<Label Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,8,0">车牌号:</Label>
<TextBox Grid.Column="1" Text="{Binding PlateNo}" Watermark="粤B12345" />
</Grid>
<Grid ColumnDefinitions="110,*">
<Label Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,8,0">鉴权码:</Label>
<TextBox Grid.Column="1" Text="{Binding AuthCode}" Watermark="从注册应答获取" />
</Grid>
</StackPanel>
<StackPanel Orientation="Horizontal" Spacing="10">
<Button Content="发送注册" Command="{Binding SendRegisterCommand}"
Background="{DynamicResource SystemAccentColor}" Foreground="White" Padding="16,6" />
<Button Content="发送鉴权" Command="{Binding SendAuthCommand}" Padding="16,6" />
<Label Content="{Binding RegisterStatus}" VerticalAlignment="Center" FontSize="12" Foreground="Gray" />
</StackPanel>
</StackPanel>
</Border>
<!-- 位置上报 -->
<Border BorderBrush="{DynamicResource SystemControlForegroundBaseLowBrush}"
BorderThickness="1" CornerRadius="6" Padding="14">
<StackPanel Spacing="10">
<Grid ColumnDefinitions="6,*">
<Border Grid.Column="0" Background="{DynamicResource SystemAccentColor}" CornerRadius="3" />
<Label Grid.Column="1" FontWeight="Bold" FontSize="14" Margin="8,0,0,0"
VerticalAlignment="Center">位置上报</Label>
</Grid>
<StackPanel Spacing="8">
<Grid ColumnDefinitions="110,*">
<Label Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,8,0">纬度(百万分之一度):</Label>
<TextBox Grid.Column="1" Text="{Binding Latitude}" Watermark="22650000" />
</Grid>
<Grid ColumnDefinitions="110,*">
<Label Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,8,0">经度(百万分之一度):</Label>
<TextBox Grid.Column="1" Text="{Binding Longitude}" Watermark="114030000" />
</Grid>
<Grid ColumnDefinitions="110,*">
<Label Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,8,0">海拔(米):</Label>
<TextBox Grid.Column="1" Text="{Binding Altitude}" Watermark="50" />
</Grid>
<Grid ColumnDefinitions="110,*">
<Label Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,8,0">速度(1/10 km/h):</Label>
<TextBox Grid.Column="1" Text="{Binding Speed}" Watermark="0" />
</Grid>
<Grid ColumnDefinitions="110,*">
<Label Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,8,0">方向(度):</Label>
<TextBox Grid.Column="1" Text="{Binding Direction}" Watermark="180" />
</Grid>
</StackPanel>
<StackPanel Orientation="Horizontal" Spacing="10">
<Button Content="发送位置" Command="{Binding SendLocationCommand}"
Background="{DynamicResource SystemAccentColor}" Foreground="White" Padding="16,6" />
<Button Content="发送心跳" Command="{Binding SendHeartbeatCommand}" Padding="16,6" />
<CheckBox IsChecked="{Binding TimerEnabled}" Content="定时上报" VerticalAlignment="Center" />
<TextBox Text="{Binding TimerInterval}" Width="60" Watermark="30" />
<Label VerticalAlignment="Center" FontSize="12" Foreground="Gray">秒</Label>
</StackPanel>
</StackPanel>
</Border>
<!-- 通用消息发送 -->
<Border BorderBrush="{DynamicResource SystemControlForegroundBaseLowBrush}"
BorderThickness="1" CornerRadius="6" Padding="14">
<StackPanel Spacing="10">
<Grid ColumnDefinitions="6,*">
<Border Grid.Column="0" Background="{DynamicResource SystemAccentColor}" CornerRadius="3" />
<Label Grid.Column="1" FontWeight="Bold" FontSize="14" Margin="8,0,0,0"
VerticalAlignment="Center">通用消息发送</Label>
</Grid>
<StackPanel Spacing="8">
<Grid ColumnDefinitions="110,*">
<Label Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,8,0">消息类型:</Label>
<ComboBox Grid.Column="1"
ItemsSource="{Binding MessageKindNames}"
SelectedItem="{Binding SelectedMessageKind}" />
</Grid>
<Grid ColumnDefinitions="110,*">
<Label Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,4,8,0">消息体JSON:</Label>
<TextBox Grid.Column="1"
Text="{Binding MessageBodyJson}"
MinHeight="80"
AcceptsReturn="True"
Watermark='{}' />
</Grid>
</StackPanel>
<StackPanel Orientation="Horizontal" Spacing="10">
<Button Content="发送消息" Command="{Binding SendMessageCommand}"
Background="{DynamicResource SystemAccentColor}" Foreground="White" Padding="16,6" />
<CheckBox IsChecked="{Binding WaitResponse}" Content="等待响应" VerticalAlignment="Center" />
</StackPanel>
</StackPanel>
</Border>
</StackPanel>
</ScrollViewer>
</UserControl>
|