<Window 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:DesignWidth="800" d:DesignHeight="600"
x:Class="XCoderAv.Views.ApiDiscoverWindow"
Title="API 服务发现" Width="800" Height="600"
WindowStartupLocation="CenterOwner">
<Window.Styles>
<Style Selector="TextBox.ConfigTextBox">
<Setter Property="Margin" Value="2"/>
<Setter Property="Height" Value="26"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush" Value="#D0D0D0"/>
</Style>
<Style Selector="Button.ActionButton">
<Setter Property="Height" Value="30"/>
<Setter Property="Margin" Value="2"/>
</Style>
<Style Selector="Border.GroupBorder">
<Setter Property="BorderBrush" Value="#D0D0D0"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Margin" Value="0,0,0,6"/>
</Style>
</Window.Styles>
<Grid Margin="6">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- 配置 -->
<Border Grid.Row="0" Classes="GroupBorder">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="端口" VerticalAlignment="Center" Margin="4,2"/>
<TextBox Grid.Column="1" Text="{Binding Port}" Classes="ConfigTextBox"/>
<Button Grid.Column="2" Content="扫描" Command="{Binding ScanCommand}" Classes="ActionButton" Width="80" Margin="4,0"/>
<Button Grid.Column="3" Content="清空服务" Command="{Binding ClearServicesCommand}" Classes="ActionButton" Width="80"/>
<Button Grid.Column="3" Content="清空日志" Command="{Binding ClearLogCommand}" Classes="ActionButton" Width="80" HorizontalAlignment="Right" Margin="0,0,90,0"/>
</Grid>
</Border>
<!-- 服务列表 -->
<Grid Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Text="发现的服务" FontWeight="Bold" Margin="4,2"/>
<ListBox Grid.Row="1" ItemsSource="{Binding Services}" Margin="0,4"
BorderThickness="1" BorderBrush="#D0D0D0">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Name}" Margin="4,2"/>
<TextBlock Grid.Column="1" Text="{Binding RemoteIP}" Margin="4,2"/>
<TextBlock Grid.Column="2" Text="{Binding Port}" Margin="4,2"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
<!-- 日志 -->
<TextBox Grid.Row="2" Text="{Binding Log}" AcceptsReturn="True" AcceptsTab="True"
FontFamily="Consolas" FontSize="12" MinHeight="100" Margin="0,4"
BorderThickness="1" BorderBrush="#D0D0D0"/>
</Grid>
</Window>
|