MainWindow.xaml 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <Window x:Class="NetworkTool.Client.MainWindow"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. mc:Ignorable="d"
  7. Title="NetworkTool"
  8. Height="680"
  9. Width="860"
  10. MinHeight="640"
  11. MinWidth="760"
  12. WindowStartupLocation="CenterScreen">
  13. <Grid Background="#F5F7FB">
  14. <Border MaxWidth="820"
  15. Margin="24"
  16. Padding="24"
  17. HorizontalAlignment="Center"
  18. Background="White"
  19. CornerRadius="12">
  20. <Grid>
  21. <Grid.RowDefinitions>
  22. <RowDefinition Height="Auto" />
  23. <RowDefinition Height="*" />
  24. </Grid.RowDefinitions>
  25. <TextBlock FontSize="20"
  26. FontWeight="SemiBold"
  27. Foreground="#111827"
  28. Text="设备发现与连接" />
  29. <Grid Grid.Row="1" Margin="0,20,0,0">
  30. <Grid.RowDefinitions>
  31. <RowDefinition Height="Auto" />
  32. <RowDefinition Height="*" />
  33. </Grid.RowDefinitions>
  34. <Border Padding="16" Background="#F9FAFB" CornerRadius="10">
  35. <StackPanel>
  36. <TextBlock FontSize="13" FontWeight="SemiBold" Foreground="#111827" Text="本机网卡" />
  37. <TextBlock Margin="0,12,0,0"
  38. FontSize="13"
  39. Foreground="#374151"
  40. Text="本机有线网卡" />
  41. <Grid Margin="0,8,0,0">
  42. <Grid.ColumnDefinitions>
  43. <ColumnDefinition Width="*" />
  44. <ColumnDefinition Width="Auto" />
  45. </Grid.ColumnDefinitions>
  46. <ComboBox x:Name="AdapterComboBox"
  47. MinHeight="36"
  48. VerticalContentAlignment="Center"
  49. SelectionChanged="AdapterComboBox_OnSelectionChanged">
  50. <ComboBox.ItemTemplate>
  51. <DataTemplate>
  52. <Grid>
  53. <Grid.ColumnDefinitions>
  54. <ColumnDefinition Width="Auto" />
  55. <ColumnDefinition Width="Auto" />
  56. </Grid.ColumnDefinitions>
  57. <TextBlock Grid.Column="0"
  58. Text="{Binding Name}"
  59. TextTrimming="CharacterEllipsis" />
  60. <TextBlock Grid.Column="1"
  61. Margin="12,0,0,0"
  62. Text="{Binding IPv4Display}" />
  63. </Grid>
  64. </DataTemplate>
  65. </ComboBox.ItemTemplate>
  66. </ComboBox>
  67. <Button x:Name="RefreshAdaptersButton"
  68. Grid.Column="1"
  69. Margin="8,0,0,0"
  70. MinHeight="36"
  71. Padding="14,0"
  72. Click="RefreshAdaptersButton_OnClick"
  73. Content="刷新" />
  74. </Grid>
  75. </StackPanel>
  76. </Border>
  77. <Border Grid.Row="1" Margin="0,16,0,0" Padding="16" Background="#F9FAFB" CornerRadius="10">
  78. <Grid>
  79. <Grid.RowDefinitions>
  80. <RowDefinition Height="Auto" />
  81. <RowDefinition Height="Auto" />
  82. <RowDefinition Height="*" />
  83. </Grid.RowDefinitions>
  84. <Grid>
  85. <Grid.ColumnDefinitions>
  86. <ColumnDefinition Width="*" />
  87. <ColumnDefinition Width="Auto" />
  88. </Grid.ColumnDefinitions>
  89. <TextBlock VerticalAlignment="Center"
  90. FontSize="13"
  91. FontWeight="SemiBold"
  92. Foreground="#111827"
  93. Text="发现设备(双击连接)" />
  94. <Button x:Name="SearchDevicesButton"
  95. Grid.Column="1"
  96. MinHeight="32"
  97. Padding="14,0"
  98. Click="SearchDevicesButton_OnClick"
  99. Content="重新搜索设备" />
  100. </Grid>
  101. <TextBlock x:Name="DiscoveryStateTextBlock"
  102. Grid.Row="1"
  103. Margin="0,10,0,0"
  104. Foreground="#4B5563"
  105. Text="选择网卡后会自动搜索设备。"
  106. TextWrapping="Wrap" />
  107. <ListView x:Name="DiscoveredDevicesListView"
  108. Grid.Row="2"
  109. Margin="0,12,0,0"
  110. MinHeight="220"
  111. HorizontalContentAlignment="Stretch"
  112. ScrollViewer.HorizontalScrollBarVisibility="Disabled"
  113. ScrollViewer.VerticalScrollBarVisibility="Auto"
  114. MouseDoubleClick="DiscoveredDevicesListView_OnMouseDoubleClick"
  115. SizeChanged="DiscoveredDevicesListView_OnSizeChanged">
  116. <ListView.View>
  117. <GridView>
  118. <GridViewColumn x:Name="DeviceIpColumn" Width="150" Header="IP" DisplayMemberBinding="{Binding Lan2Ip}" />
  119. <GridViewColumn x:Name="DeviceHostnameColumn" Width="220" Header="主机名" DisplayMemberBinding="{Binding Hostname}" />
  120. <GridViewColumn x:Name="DeviceMacColumn" Width="220" Header="MAC" DisplayMemberBinding="{Binding Mac}" />
  121. </GridView>
  122. </ListView.View>
  123. </ListView>
  124. </Grid>
  125. </Border>
  126. </Grid>
  127. </Grid>
  128. </Border>
  129. <Border x:Name="StatusMessageBorder"
  130. Visibility="Collapsed"
  131. Panel.ZIndex="100"
  132. HorizontalAlignment="Center"
  133. VerticalAlignment="Top"
  134. Margin="24,16,24,0"
  135. MaxWidth="760"
  136. Padding="14,10"
  137. Background="#111827"
  138. CornerRadius="10">
  139. <TextBlock x:Name="StatusTextBlock"
  140. FontSize="13"
  141. Foreground="White"
  142. TextWrapping="Wrap"
  143. Text="" />
  144. </Border>
  145. </Grid>
  146. </Window>