feat:钻石选择画面样式调整

master
sunhonglei 7 months ago
parent efee229a15
commit d00b0f1e4f
  1. BIN
      Resource/Images/Cushion-shaped.png
  2. BIN
      Resource/Images/Emerald-shape.png
  3. BIN
      Resource/Images/Heart-shaped.png
  4. BIN
      Resource/Images/Odd-shaped.png
  5. BIN
      Resource/Images/Pear-shaped.png
  6. BIN
      Resource/Images/Princess-shaped.png
  7. BIN
      Resource/Images/UIResource/Cushion.png
  8. BIN
      Resource/Images/UIResource/Cushion_select.png
  9. BIN
      Resource/Images/UIResource/Emerald.png
  10. BIN
      Resource/Images/UIResource/Emerald_select.png
  11. BIN
      Resource/Images/UIResource/Heart.png
  12. BIN
      Resource/Images/UIResource/Heart_select.png
  13. BIN
      Resource/Images/UIResource/Odd.png
  14. BIN
      Resource/Images/UIResource/Odd_select.png
  15. BIN
      Resource/Images/UIResource/Pear.png
  16. BIN
      Resource/Images/UIResource/Pear_select.png
  17. BIN
      Resource/Images/UIResource/Princess.png
  18. BIN
      Resource/Images/UIResource/Princess_select.png
  19. BIN
      Resource/Images/UIResource/oval.png
  20. BIN
      Resource/Images/UIResource/oval_select.png
  21. BIN
      Resource/Images/UIResource/round.png
  22. BIN
      Resource/Images/UIResource/round_P8-P8.png
  23. BIN
      Resource/Images/UIResource/round_select.png
  24. BIN
      Resource/Images/oval.png
  25. BIN
      Resource/Images/round_3x.png
  26. BIN
      Resource/Images/round_P8-P8.png
  27. 50
      SparkClient.csproj
  28. 89
      ViewModel/Grading/DiamondSelectVM.cs
  29. 40
      Views/Grading/DiamondSelect.xaml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

@ -26,31 +26,49 @@
<ItemGroup>
<None Remove="ffmpeg.exe" />
<None Remove="Resource\Images\Cushion-shaped.png" />
<None Remove="Resource\Images\Emerald-shape.png" />
<None Remove="Resource\Images\Heart-shaped.png" />
<None Remove="Resource\Images\IGILogo.png" />
<None Remove="Resource\Images\Odd-shaped.png" />
<None Remove="Resource\Images\oval.png" />
<None Remove="Resource\Images\Pear-shaped.png" />
<None Remove="Resource\Images\Princess-shaped.png" />
<None Remove="Resource\Images\round_3x.png" />
<None Remove="Resource\Images\round_P8-P8.png" />
<None Remove="Resource\Images\Setting%403x.png" />
<None Remove="Resource\Images\Setting_Def%403x.png" />
<None Remove="Resource\Images\Setting_Sel%403x.png" />
<None Remove="Resource\Images\UIResource\Cushion.png" />
<None Remove="Resource\Images\UIResource\Cushion_select.png" />
<None Remove="Resource\Images\UIResource\Emerald.png" />
<None Remove="Resource\Images\UIResource\Emerald_select.png" />
<None Remove="Resource\Images\UIResource\Heart.png" />
<None Remove="Resource\Images\UIResource\Heart_select.png" />
<None Remove="Resource\Images\UIResource\Odd.png" />
<None Remove="Resource\Images\UIResource\Odd_select.png" />
<None Remove="Resource\Images\UIResource\oval.png" />
<None Remove="Resource\Images\UIResource\oval_select.png" />
<None Remove="Resource\Images\UIResource\Pear.png" />
<None Remove="Resource\Images\UIResource\Pear_select.png" />
<None Remove="Resource\Images\UIResource\Princess.png" />
<None Remove="Resource\Images\UIResource\Princess_select.png" />
<None Remove="Resource\Images\UIResource\round.png" />
<None Remove="Resource\Images\UIResource\round_P8-P8.png" />
<None Remove="Resource\Images\UIResource\round_select.png" />
<None Remove="Resource\Images\ze-add-o 1%403x.png" />
<Resource Include="ffmpeg.exe" />
<Resource Include="Resource\Images\Cushion-shaped.png" />
<Resource Include="Resource\Images\Emerald-shape.png" />
<Resource Include="Resource\Images\Heart-shaped.png" />
<None Remove="Resource\Images\homebg.png" />
<Resource Include="Resource\Images\Odd-shaped.png" />
<Resource Include="Resource\Images\oval.png" />
<Resource Include="Resource\Images\Pear-shaped.png" />
<Resource Include="Resource\Images\Princess-shaped.png" />
<Resource Include="Resource\Images\round_3x.png" />
<Resource Include="Resource\Images\round_P8-P8.png" />
<Resource Include="Resource\Images\UIResource\Cushion.png" />
<Resource Include="Resource\Images\UIResource\Cushion_select.png" />
<Resource Include="Resource\Images\UIResource\Emerald.png" />
<Resource Include="Resource\Images\UIResource\Emerald_select.png" />
<Resource Include="Resource\Images\UIResource\Heart.png" />
<Resource Include="Resource\Images\UIResource\Heart_select.png" />
<Resource Include="Resource\Images\UIResource\Odd.png" />
<Resource Include="Resource\Images\UIResource\Odd_select.png" />
<Resource Include="Resource\Images\UIResource\oval.png" />
<Resource Include="Resource\Images\UIResource\oval_select.png" />
<Resource Include="Resource\Images\UIResource\Pear.png" />
<Resource Include="Resource\Images\UIResource\Pear_select.png" />
<Resource Include="Resource\Images\UIResource\Princess.png" />
<Resource Include="Resource\Images\UIResource\Princess_select.png" />
<Resource Include="Resource\Images\UIResource\round.png" />
<Resource Include="Resource\Images\UIResource\round_P8-P8.png" />
<Resource Include="Resource\Images\UIResource\round_select.png" />
<None Update="log4net.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>

@ -3,11 +3,8 @@ using SparkClient.Model.Entity.ApiEntity;
using SparkClient.Model.Helper;
using SparkClient.ViewModel.BaseWindow;
using SparkClient.Views.Dialog;
using System;
using System.Data;
using System.Diagnostics.Metrics;
using System.DirectoryServices.ActiveDirectory;
using System.Reflection.Metadata;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media.Imaging;
@ -16,9 +13,10 @@ using Microsoft.Data.Sqlite;
using SparkClient.Model.Entity;
using SparkClient.Model.Services;
using MessageBox = System.Windows.MessageBox;
using System.Runtime.CompilerServices;
using System.Text;
using System.IO;
using System.Windows.Media;
using Color = System.Windows.Media.Color;
namespace SparkClient.ViewModel.Grading;
@ -60,7 +58,7 @@ public class DiamondSelectVM : BaseViewModel
List<ButtonInfo> buttonInfos = GetButtonInfos();
foreach (var buttonInfo in buttonInfos)
{
var bitmap = new BitmapImage(new Uri("pack://application:,,,/Resource/Images/" + buttonInfo.ImageName, UriKind.RelativeOrAbsolute));
var bitmap = new BitmapImage(new Uri("pack://application:,,,/Resource/Images/UIResource/" + buttonInfo.ImageName, UriKind.RelativeOrAbsolute));
ButtonViewModel button = new ButtonViewModel() { Text = buttonInfo.ButtonName, ImageSource = bitmap, Type = buttonInfo.Type, Command = ChangeDiamondTypeCommand ,IsEnabled= buttonInfo.IsEnabled, IsHighlighted = false};
tempButtons.Add(button);
}
@ -70,14 +68,14 @@ public class DiamondSelectVM : BaseViewModel
private List<ButtonInfo> GetButtonInfos()
{
List<ButtonInfo> buttonInfos = new List<ButtonInfo>();
buttonInfos.Add(new ButtonInfo() { Type = "round", IsEnabled = true, ImageName = "round_3x.png", ButtonName = MultilingualHelper.getString("圆形") });
buttonInfos.Add(new ButtonInfo() { Type = "Heart", IsEnabled = false, ImageName = "Heart-shaped.png", ButtonName = MultilingualHelper.getString("心形") });
buttonInfos.Add(new ButtonInfo() { Type = "cushion", IsEnabled = false, ImageName = "Cushion-shaped.png", ButtonName = MultilingualHelper.getString("枕形") });
buttonInfos.Add(new ButtonInfo() { Type = "Pear", IsEnabled = false, ImageName = "Pear-shaped.png", ButtonName = MultilingualHelper.getString("梨形") });
buttonInfos.Add(new ButtonInfo() { Type = "Princess", IsEnabled = false, ImageName = "Princess-shaped.png", ButtonName = MultilingualHelper.getString("公主方形") });
buttonInfos.Add(new ButtonInfo() { Type = "round", IsEnabled = true, ImageName = "round.png", ButtonName = MultilingualHelper.getString("圆形") });
buttonInfos.Add(new ButtonInfo() { Type = "Heart", IsEnabled = false, ImageName = "Heart.png", ButtonName = MultilingualHelper.getString("心形") });
buttonInfos.Add(new ButtonInfo() { Type = "cushion", IsEnabled = false, ImageName = "Cushion.png", ButtonName = MultilingualHelper.getString("枕形") });
buttonInfos.Add(new ButtonInfo() { Type = "Pear", IsEnabled = false, ImageName = "Pear.png", ButtonName = MultilingualHelper.getString("梨形") });
buttonInfos.Add(new ButtonInfo() { Type = "Princess", IsEnabled = false, ImageName = "Princess.png", ButtonName = MultilingualHelper.getString("公主方形") });
buttonInfos.Add(new ButtonInfo() { Type = "oval", IsEnabled = false, ImageName = "oval.png", ButtonName = MultilingualHelper.getString("椭圆形") });
buttonInfos.Add(new ButtonInfo() { Type = "Emerald", IsEnabled = false, ImageName = "Emerald-shape.png", ButtonName = MultilingualHelper.getString("祖母绿形") });
buttonInfos.Add(new ButtonInfo() { Type = "Odd", IsEnabled = false, ImageName = "Odd-shaped.png", ButtonName = MultilingualHelper.getString("异形钻") });
buttonInfos.Add(new ButtonInfo() { Type = "Emerald", IsEnabled = false, ImageName = "Emerald.png", ButtonName = MultilingualHelper.getString("祖母绿形") });
buttonInfos.Add(new ButtonInfo() { Type = "Odd", IsEnabled = false, ImageName = "Odd.png", ButtonName = MultilingualHelper.getString("异形钻") });
return buttonInfos;
}
/// <summary>
@ -102,7 +100,7 @@ public class DiamondSelectVM : BaseViewModel
item.IsHighlighted = true;
};
List<ButtonViewModel> tempButtons2 = new List<ButtonViewModel>();
var bitmap = new BitmapImage(new Uri("pack://application:,,,/Resource/Images/round_P8-P8.png", UriKind.RelativeOrAbsolute));
var bitmap = new BitmapImage(new Uri("pack://application:,,,/Resource/Images/UIResource/round_P8-P8.png", UriKind.RelativeOrAbsolute));
ButtonViewModel button = new ButtonViewModel() { Text = "P8-P8", ImageSource = bitmap, Type = "round P8 P8", Command = StartGradingCommand };
tempButtons2.Add(button);
Buttons2 = tempButtons2;
@ -381,7 +379,8 @@ public class ButtonViewModel : BaseViewModel
private int _col;
private bool _isEnabled;
private bool _isHighlighted;
private Brush _foreground;
private Brush _background;
public string Text
{
@ -446,6 +445,66 @@ public class ButtonViewModel : BaseViewModel
{
_isHighlighted = value;
OnPropertyChanged(nameof(IsHighlighted));
UpdateStyles();
}
}
public Brush ForegroundColor
{
get
{
return _foreground;
}
set
{
_foreground = value;
OnPropertyChanged(nameof(ForegroundColor));
}
}
public Brush BackgroundColor
{
get {
return _background;
}
set
{
_background = value;
OnPropertyChanged(nameof(BackgroundColor));
}
}
private void UpdateStyles()
{
if (IsHighlighted)
{
// 高亮状态的样式
LinearGradientBrush linearGradientBrush = new LinearGradientBrush(
new GradientStopCollection()
{
new GradientStop(Color.FromRgb(64, 177, 255), 0), // #61bde2
new GradientStop(Color.FromRgb(60, 156, 230), 1) // #53abd9
},
new Point(0, 0), // StartPoint
new Point(0, 1) // EndPoint
);
BackgroundColor = linearGradientBrush;
ForegroundColor = new SolidColorBrush(Color.FromRgb(255, 255, 255));
string path = _imageSource.UriSource.AbsolutePath;
if (!path.Contains("_select.png"))
{
path = path.Replace(".png", "_select.png");
}
ImageSource = new BitmapImage(new Uri("pack://application:,,," + path));
}
else
{
// 默认状态的样式
BackgroundColor = new SolidColorBrush(Color.FromRgb(235, 238, 245));
ForegroundColor = Brushes.Black;
string path = _imageSource.UriSource.AbsolutePath.Replace("_select.png", ".png");
ImageSource = new BitmapImage(new Uri("pack://application:,,," + path));
}
}
}

@ -13,7 +13,7 @@
</Border.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="300" Width="1*" />
<ColumnDefinition MinWidth="350" Width="1*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition MinWidth="300" Width="5*" />
</Grid.ColumnDefinitions>
@ -27,18 +27,16 @@
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Background="Transparent" Command="{Binding Command}" CommandParameter="{Binding Type}" BorderBrush="Transparent" Width="130" Height="130" IsEnabled="{Binding IsEnabled}">
<Border Background="#BEB6BA" Width="110" Height="110" CornerRadius="10" Margin="5">
<Button Background="Transparent" Command="{Binding Command}" CommandParameter="{Binding Type}" BorderBrush="Transparent" Width="170" Height="170" IsEnabled="{Binding IsEnabled}" FocusVisualStyle="{x:Null}" >
<Border Background="{Binding BackgroundColor}" Width="150" Height="150" CornerRadius="10" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="84"/>
<RowDefinition Height="36"/>
<RowDefinition Height="7*"/>
<RowDefinition Height="3*"/>
</Grid.RowDefinitions>
<Image Source="{Binding ImageSource}" Grid.Row="0" Width="102" Height="84" Margin="5 5 5 0"/>
<TextBlock Text="{Binding Text}" Grid.Row="1" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="14" FontStyle="Normal" FontFamily="PingFangSC-regular" Foreground="#FDFEFD" Margin="5" />
<Border Background="#79410E" Grid.Row="1" Opacity="0.45" CornerRadius="0 0 10 10" Height="25" VerticalAlignment="Top" Visibility="{Binding IsHighlighted, Converter={StaticResource BoolToVisibilityConverter}, ConverterParameter=Visible}">
<TextBlock Text="{Binding Text}" Grid.Row="1" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="14" FontStyle="Normal" FontFamily="PingFangSC-regular" Foreground="#FDFEFD" Margin="5" />
</Border>
<TextBlock Text="{Binding Text}" Grid.Row="1" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="20" FontWeight="Bold" FontStyle="Normal" Foreground="{Binding ForegroundColor}" Margin="5" />
<TextBlock Visibility="Hidden" Text="{Binding IsHighlighted ,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
</Border>
</Button>
@ -55,7 +53,7 @@
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Background="Transparent" Command="{Binding Command}" CommandParameter="{Binding Type}" BorderBrush="Transparent" Width="212" Height="130">
<Button Background="Transparent" Command="{Binding Command}" CommandParameter="{Binding Type}" BorderBrush="Transparent" Width="275" Height="170" FocusVisualStyle="{x:Null}" >
<Button.Style>
<Style TargetType="Button">
<Setter Property="Template">
@ -63,19 +61,27 @@
<ControlTemplate TargetType="Button">
<Grid>
<!-- 按钮内容 -->
<Border Background="#BEB6BA" Width="190" Height="110" CornerRadius="10" Margin="5">
<Border Background="#ebeef5" Width="255" Height="150" CornerRadius="10" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="84"/>
<RowDefinition Height="36"/>
<RowDefinition Height="7*"/>
<RowDefinition Height="3*"/>
</Grid.RowDefinitions>
<Image Source="{Binding ImageSource}" Grid.Row="0" Width="180" Height="84" Margin="5"/>
<TextBlock Text="{Binding Text}" Grid.Row="1" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="14" FontStyle="Normal" FontFamily="PingFangSC-regular" Foreground="#FDFEFD"/>
<Border Background="#FFFFFF" CornerRadius="5" BorderThickness="6" BorderBrush="#ebeef5">
<Image Source="{Binding ImageSource}" Height="70"/>
</Border>
<TextBlock Text="{Binding Text}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="20" Foreground="#4d4d4c"/>
</Grid>
</Border>
<!-- 遮罩层 -->
<Border Name="Overlay" Background="#9C7C5E" Opacity="0.8" Width="190" Height="110" CornerRadius="10" Margin="5" Visibility="Collapsed">
<TextBlock Text="开始检测" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="18" FontStyle="Normal" FontFamily="PingFangSC-regular" Foreground="#FFFFFF"/>
<Border Name="Overlay" Opacity="0.8" Width="255" Height="150" CornerRadius="10" Visibility="Collapsed">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#36adff" Offset="0"/>
<GradientStop Color="#3c9ce6" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<TextBlock Text="开始检测" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="20" FontWeight="Bold" Foreground="#FFFFFF"/>
</Border>
</Grid>
<ControlTemplate.Triggers>

Loading…
Cancel
Save