FolderQuestionedImageBrowser.xaml 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <UserControl x:Class="aipdev.FolderQuestionedImageBrowser"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:aipdev"
  7. xmlns:extensions="clr-namespace:aipdev.Extensions"
  8. mc:Ignorable="d"
  9. d:DesignHeight="450" d:DesignWidth="800">
  10. <UserControl.Resources>
  11. <Style TargetType="{x:Type TextBox}" x:Key="ReadOnlyTextBoxStyle">
  12. <Style.Setters>
  13. <Setter Property="IsReadOnly" Value="True"/>
  14. <Setter Property="Background" Value="Transparent"/>
  15. <Setter Property="Foreground" Value="White"/>
  16. <Setter Property="BorderThickness" Value="0"/>
  17. <Setter Property="HorizontalAlignment" Value="Center"/>
  18. <Setter Property="VerticalAlignment" Value="Center"/>
  19. </Style.Setters>
  20. </Style>
  21. </UserControl.Resources>
  22. <Grid>
  23. <Grid.RowDefinitions>
  24. <RowDefinition Height="48"/>
  25. <RowDefinition Height="*"/>
  26. </Grid.RowDefinitions>
  27. <Border Grid.Row="0" BorderThickness="0.5" BorderBrush="Gray">
  28. <Grid>
  29. <Grid.ColumnDefinitions>
  30. <ColumnDefinition Width="0.4*"/>
  31. <ColumnDefinition Width="0.4*"/>
  32. <ColumnDefinition Width="Auto"/>
  33. <ColumnDefinition Width="Auto"/>
  34. <ColumnDefinition Width="Auto"/>
  35. <ColumnDefinition Width="Auto"/>
  36. </Grid.ColumnDefinitions>
  37. <TextBlock x:Name="FolderName" Grid.Column="0" VerticalAlignment="Center" Margin="4" FontWeight="Bold" FontSize="20" TextTrimming="CharacterEllipsis"/>
  38. <TextBox Grid.Column="1" x:Name="txtFileName" Height="32" Margin="5,0" FontSize="14" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Padding="0"
  39. PreviewKeyDown="txtFileName_PreviewKeyDown">
  40. <TextBox.Resources>
  41. <VisualBrush x:Key="HelpBrush" TileMode="None" Opacity="0.3" Stretch="None" AlignmentX="Center">
  42. <VisualBrush.Visual>
  43. <TextBlock Text="图像名称" FontSize="14"/>
  44. </VisualBrush.Visual>
  45. </VisualBrush>
  46. </TextBox.Resources>
  47. <TextBox.Style>
  48. <Style TargetType="TextBox">
  49. <Style.Triggers>
  50. <Trigger Property="Text" Value="{x:Null}">
  51. <Setter Property="Background" Value="{StaticResource HelpBrush}"/>
  52. </Trigger>
  53. <Trigger Property="Text" Value="">
  54. <Setter Property="Background" Value="{StaticResource HelpBrush}"/>
  55. </Trigger>
  56. </Style.Triggers>
  57. </Style>
  58. </TextBox.Style>
  59. </TextBox>
  60. <Button x:Name="btnSearch" Content="搜索" Grid.Column="2" HorizontalAlignment="Left" Margin="2,0" Style="{StaticResource btn-primary}" Click="OnSearchFiles"/>
  61. <Button x:Name="btnClearAndSearch" Content="清空搜索" Grid.Column="3" HorizontalAlignment="Left" Margin="2,0" Style="{StaticResource btn-primary}" Click="OnClearAndSearchFiles"/>
  62. <CheckBox x:Name="chbIsConfirmed" Content="待处理" Grid.Column="4" FontSize="14" Margin="2,0" HorizontalAlignment="Left" Click="OnConfirmedFilesClick" />
  63. <Button Style="{StaticResource btn-danger}" Grid.Column="5" Content="X" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="4,0" Click="OnCloseClick"/>
  64. </Grid>
  65. </Border>
  66. <ListBox Grid.Row="1" x:Name="FolderImages">
  67. <ListBox.ItemsPanel>
  68. <ItemsPanelTemplate>
  69. <WrapPanel/>
  70. </ItemsPanelTemplate>
  71. </ListBox.ItemsPanel>
  72. <ListBox.ItemContainerStyle>
  73. <Style TargetType="ListBoxItem">
  74. <Setter Property="ToolTip" Value="{Binding Conclusions}"/>
  75. <Setter Property="Template">
  76. <Setter.Value>
  77. <ControlTemplate>
  78. <Button OverridesDefaultStyle="True" x:Name="ImageButton" Width="520" Height="520" Margin="8" Click="OnImageClick">
  79. <Button.Template>
  80. <ControlTemplate>
  81. <Border x:Name="ImageBorder" BorderThickness="0.5" BorderBrush="Gray" CornerRadius="4" Background="Black">
  82. <Grid>
  83. <Grid.RowDefinitions>
  84. <RowDefinition Height="*"/>
  85. <RowDefinition Height="Auto"/>
  86. </Grid.RowDefinitions>
  87. <Image Source="{Binding PreviewImage}" Stretch="Uniform" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="2"/>
  88. <!--<Image Source="Resources/Images/Question.png" VerticalAlignment="Top" HorizontalAlignment="Right" Width="20" Height="20"
  89. Visibility="{Binding HasQuestioned, Converter={extensions:BoolToVisibilityConverter}}" />-->
  90. <TextBlock Foreground="Red" Text="{Binding DeveloperFolderFile.Index, Mode=OneWay}" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="5,0,0,0"/>
  91. <GroupBox Margin="4" MinHeight="50" Header="标注结果" Foreground="White" BorderBrush="Gray" BorderThickness="0.5" Grid.Row="1">
  92. <TextBlock Foreground="White" Text="{Binding TrimmingConclusions, Mode=OneWay}" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5,0,0,0" TextTrimming="CharacterEllipsis"/>
  93. </GroupBox>
  94. </Grid>
  95. </Border>
  96. <ControlTemplate.Triggers>
  97. <Trigger Property="IsMouseOver" Value="True">
  98. <Setter TargetName="ImageBorder" Property="BorderBrush" Value="DeepSkyBlue"/>
  99. <Setter TargetName="ImageBorder" Property="BorderThickness" Value="2"/>
  100. </Trigger>
  101. </ControlTemplate.Triggers>
  102. </ControlTemplate>
  103. </Button.Template>
  104. <!--<Button.ContextMenu>
  105. <ContextMenu>
  106. <MenuItem Header="复制..." IsEnabled="{Binding CanCopy}" Click="OnCopyFileClick"/>
  107. <MenuItem Header="删除..." IsEnabled="{Binding CanDelete}" Click="OnDeleteFileClick"/>
  108. </ContextMenu>
  109. </Button.ContextMenu>-->
  110. </Button>
  111. </ControlTemplate>
  112. </Setter.Value>
  113. </Setter>
  114. </Style>
  115. </ListBox.ItemContainerStyle>
  116. </ListBox>
  117. <local:WaitingSpinner Grid.Column="0" Grid.ColumnSpan="2" x:Name="Waiting"/>
  118. </Grid>
  119. </UserControl>