SearchFeederWindow.xaml 5.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <hc:Window x:Class="TeamAAS.Views.SearchFeederWindow"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:hc="https://handyorg.github.io/handycontrol"
  5. xmlns:loc="clr-namespace:TeamAAS.Localization"
  6. Title="{loc:Translate '搜索供料器'}" Width="640" Height="520"
  7. WindowStartupLocation="CenterOwner" ResizeMode="NoResize"
  8. Background="{DynamicResource RegionBrush}"
  9. Loaded="Window_Loaded" Closing="Window_Closing"
  10. ShowInTaskbar="False">
  11. <Grid Margin="16">
  12. <Grid.RowDefinitions>
  13. <RowDefinition Height="Auto"/>
  14. <RowDefinition Height="Auto"/>
  15. <RowDefinition Height="*"/>
  16. <RowDefinition Height="Auto"/>
  17. </Grid.RowDefinitions>
  18. <!-- 搜索栏 -->
  19. <StackPanel Grid.Row="0" Orientation="Horizontal" Margin="0,0,0,12">
  20. <TextBlock Text="{loc:Translate 'UDP 广播自动搜索局域网内的 Feeder'}" FontSize="13"
  21. VerticalAlignment="Center" Foreground="{DynamicResource PrimaryTextBrush}"/>
  22. <Button Content="{loc:Translate '🔍 搜索'}" Click="Search_Click" Margin="12,0,0,0" Padding="20,6"
  23. Style="{StaticResource ButtonPrimary}"/>
  24. </StackPanel>
  25. <!-- 状态 -->
  26. <StackPanel Grid.Row="1" Orientation="Horizontal" Margin="0,0,0,8">
  27. <TextBlock x:Name="StatusText" FontSize="12"
  28. Foreground="{DynamicResource SecondaryTextBrush}" VerticalAlignment="Center"/>
  29. <hc:LoadingCircle x:Name="LoadingIndicator" Width="16" Height="16" Margin="8,0,0,0"
  30. Visibility="Collapsed"/>
  31. </StackPanel>
  32. <!-- 结果 -->
  33. <Border Grid.Row="2" Background="{DynamicResource SecondaryRegionBrush}" CornerRadius="8">
  34. <ListBox x:Name="ResultListBox" Background="Transparent" BorderThickness="0"
  35. Margin="8" SelectionChanged="Result_SelectionChanged">
  36. <ListBox.ItemTemplate>
  37. <DataTemplate>
  38. <Border Padding="12,8" CornerRadius="6"
  39. Background="{DynamicResource SecondaryRegionBrush}" Margin="0,2">
  40. <StackPanel>
  41. <StackPanel Orientation="Horizontal">
  42. <TextBlock Text="{Binding FeederType}" FontSize="13" FontWeight="Bold"
  43. Foreground="{DynamicResource PrimaryBrush}"/>
  44. <TextBlock Text="{Binding Version}" FontSize="12" Margin="8,0,0,0"
  45. Foreground="{DynamicResource PrimaryTextBrush}"/>
  46. <Border CornerRadius="4" Padding="6,1" Margin="12,0,0,0"
  47. Background="{DynamicResource PrimaryBrush}">
  48. <Border.Style>
  49. <Style TargetType="Border">
  50. <Setter Property="Visibility" Value="Collapsed"/>
  51. <Style.Triggers>
  52. <DataTrigger Binding="{Binding IsAccessible}" Value="True">
  53. <Setter Property="Visibility" Value="Visible"/>
  54. </DataTrigger>
  55. </Style.Triggers>
  56. </Style>
  57. </Border.Style>
  58. <TextBlock Text="{loc:Translate '同网段'}" FontSize="10" Foreground="White"/>
  59. </Border>
  60. </StackPanel>
  61. <TextBlock FontSize="11" Margin="0,4,0,0"
  62. Foreground="{DynamicResource SecondaryTextBrush}">
  63. <Run Text="IP: "/><Run Text="{Binding IP, Mode=OneWay}"/>
  64. <Run Text=" : "/><Run Text="{Binding Port, Mode=OneWay}"/>
  65. <Run Text=" MAC: "/><Run Text="{Binding MAC, Mode=OneWay}"/>
  66. <Run Text=" 掩码: "/><Run Text="{Binding Subnet, Mode=OneWay}"/>
  67. </TextBlock>
  68. </StackPanel>
  69. </Border>
  70. </DataTemplate>
  71. </ListBox.ItemTemplate>
  72. </ListBox>
  73. </Border>
  74. <!-- 底部按钮 -->
  75. <StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,12,0,0">
  76. <Button Content="{loc:Translate '设置IP'}" Click="SetIp_Click" Padding="16,6" Margin="0,0,8,0"
  77. Style="{StaticResource ButtonDefault}" x:Name="SetIpButton" IsEnabled="False"/>
  78. <Button Content="{loc:Translate '回填选中'}" Click="Fill_Click" Padding="20,6" Margin="0,0,8,0"
  79. Style="{StaticResource ButtonPrimary}" x:Name="FillButton" IsEnabled="False"/>
  80. <Button Content="{loc:Translate '关闭'}" Click="Close_Click" Padding="20,6"
  81. Style="{StaticResource ButtonDefault}"/>
  82. </StackPanel>
  83. </Grid>
  84. </hc:Window>