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> <ItemGroup>
<None Remove="ffmpeg.exe" /> <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\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\round_P8-P8.png" />
<None Remove="Resource\Images\Setting%403x.png" /> <None Remove="Resource\Images\Setting%403x.png" />
<None Remove="Resource\Images\Setting_Def%403x.png" /> <None Remove="Resource\Images\Setting_Def%403x.png" />
<None Remove="Resource\Images\Setting_Sel%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" /> <None Remove="Resource\Images\ze-add-o 1%403x.png" />
<Resource Include="ffmpeg.exe" /> <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" /> <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\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"> <None Update="log4net.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None> </None>

@ -3,11 +3,8 @@ using SparkClient.Model.Entity.ApiEntity;
using SparkClient.Model.Helper; using SparkClient.Model.Helper;
using SparkClient.ViewModel.BaseWindow; using SparkClient.ViewModel.BaseWindow;
using SparkClient.Views.Dialog; using SparkClient.Views.Dialog;
using System;
using System.Data; using System.Data;
using System.Diagnostics.Metrics;
using System.DirectoryServices.ActiveDirectory;
using System.Reflection.Metadata;
using System.Windows; using System.Windows;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
@ -16,9 +13,10 @@ using Microsoft.Data.Sqlite;
using SparkClient.Model.Entity; using SparkClient.Model.Entity;
using SparkClient.Model.Services; using SparkClient.Model.Services;
using MessageBox = System.Windows.MessageBox; using MessageBox = System.Windows.MessageBox;
using System.Runtime.CompilerServices;
using System.Text; using System.Text;
using System.IO; using System.IO;
using System.Windows.Media;
using Color = System.Windows.Media.Color;
namespace SparkClient.ViewModel.Grading; namespace SparkClient.ViewModel.Grading;
@ -60,7 +58,7 @@ public class DiamondSelectVM : BaseViewModel
List<ButtonInfo> buttonInfos = GetButtonInfos(); List<ButtonInfo> buttonInfos = GetButtonInfos();
foreach (var buttonInfo in buttonInfos) 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}; ButtonViewModel button = new ButtonViewModel() { Text = buttonInfo.ButtonName, ImageSource = bitmap, Type = buttonInfo.Type, Command = ChangeDiamondTypeCommand ,IsEnabled= buttonInfo.IsEnabled, IsHighlighted = false};
tempButtons.Add(button); tempButtons.Add(button);
} }
@ -70,14 +68,14 @@ public class DiamondSelectVM : BaseViewModel
private List<ButtonInfo> GetButtonInfos() private List<ButtonInfo> GetButtonInfos()
{ {
List<ButtonInfo> buttonInfos = new List<ButtonInfo>(); 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 = "round", IsEnabled = true, ImageName = "round.png", ButtonName = MultilingualHelper.getString("圆形") });
buttonInfos.Add(new ButtonInfo() { Type = "Heart", IsEnabled = false, ImageName = "Heart-shaped.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-shaped.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-shaped.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-shaped.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 = "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 = "Emerald", IsEnabled = false, ImageName = "Emerald.png", ButtonName = MultilingualHelper.getString("祖母绿形") });
buttonInfos.Add(new ButtonInfo() { Type = "Odd", IsEnabled = false, ImageName = "Odd-shaped.png", ButtonName = MultilingualHelper.getString("异形钻") }); buttonInfos.Add(new ButtonInfo() { Type = "Odd", IsEnabled = false, ImageName = "Odd.png", ButtonName = MultilingualHelper.getString("异形钻") });
return buttonInfos; return buttonInfos;
} }
/// <summary> /// <summary>
@ -102,7 +100,7 @@ public class DiamondSelectVM : BaseViewModel
item.IsHighlighted = true; item.IsHighlighted = true;
}; };
List<ButtonViewModel> tempButtons2 = new List<ButtonViewModel>(); 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 }; ButtonViewModel button = new ButtonViewModel() { Text = "P8-P8", ImageSource = bitmap, Type = "round P8 P8", Command = StartGradingCommand };
tempButtons2.Add(button); tempButtons2.Add(button);
Buttons2 = tempButtons2; Buttons2 = tempButtons2;
@ -381,7 +379,8 @@ public class ButtonViewModel : BaseViewModel
private int _col; private int _col;
private bool _isEnabled; private bool _isEnabled;
private bool _isHighlighted; private bool _isHighlighted;
private Brush _foreground;
private Brush _background;
public string Text public string Text
{ {
@ -446,6 +445,66 @@ public class ButtonViewModel : BaseViewModel
{ {
_isHighlighted = value; _isHighlighted = value;
OnPropertyChanged(nameof(IsHighlighted)); 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> </Border.Resources>
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="300" Width="1*" /> <ColumnDefinition MinWidth="350" Width="1*" />
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition MinWidth="300" Width="5*" /> <ColumnDefinition MinWidth="300" Width="5*" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
@ -27,18 +27,16 @@
</ItemsControl.ItemsPanel> </ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate> <ItemsControl.ItemTemplate>
<DataTemplate> <DataTemplate>
<Button Background="Transparent" Command="{Binding Command}" CommandParameter="{Binding Type}" BorderBrush="Transparent" Width="130" Height="130" IsEnabled="{Binding IsEnabled}"> <Button Background="Transparent" Command="{Binding Command}" CommandParameter="{Binding Type}" BorderBrush="Transparent" Width="170" Height="170" IsEnabled="{Binding IsEnabled}" FocusVisualStyle="{x:Null}" >
<Border Background="#BEB6BA" Width="110" Height="110" CornerRadius="10" Margin="5"> <Border Background="{Binding BackgroundColor}" Width="150" Height="150" CornerRadius="10" >
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="84"/> <RowDefinition Height="7*"/>
<RowDefinition Height="36"/> <RowDefinition Height="3*"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Image Source="{Binding ImageSource}" Grid.Row="0" Width="102" Height="84" Margin="5 5 5 0"/> <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" /> <TextBlock Text="{Binding Text}" Grid.Row="1" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="20" FontWeight="Bold" FontStyle="Normal" Foreground="{Binding ForegroundColor}" 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 Visibility="Hidden" Text="{Binding IsHighlighted ,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Text="{Binding Text}" Grid.Row="1" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="14" FontStyle="Normal" FontFamily="PingFangSC-regular" Foreground="#FDFEFD" Margin="5" />
</Border>
</Grid> </Grid>
</Border> </Border>
</Button> </Button>
@ -55,7 +53,7 @@
</ItemsControl.ItemsPanel> </ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate> <ItemsControl.ItemTemplate>
<DataTemplate> <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> <Button.Style>
<Style TargetType="Button"> <Style TargetType="Button">
<Setter Property="Template"> <Setter Property="Template">
@ -63,19 +61,27 @@
<ControlTemplate TargetType="Button"> <ControlTemplate TargetType="Button">
<Grid> <Grid>
<!-- 按钮内容 --> <!-- 按钮内容 -->
<Border Background="#BEB6BA" Width="190" Height="110" CornerRadius="10" Margin="5"> <Border Background="#ebeef5" Width="255" Height="150" CornerRadius="10" >
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="84"/> <RowDefinition Height="7*"/>
<RowDefinition Height="36"/> <RowDefinition Height="3*"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Image Source="{Binding ImageSource}" Grid.Row="0" Width="180" Height="84" Margin="5"/> <Border Background="#FFFFFF" CornerRadius="5" BorderThickness="6" BorderBrush="#ebeef5">
<TextBlock Text="{Binding Text}" Grid.Row="1" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="14" FontStyle="Normal" FontFamily="PingFangSC-regular" Foreground="#FDFEFD"/> <Image Source="{Binding ImageSource}" Height="70"/>
</Border>
<TextBlock Text="{Binding Text}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="20" Foreground="#4d4d4c"/>
</Grid> </Grid>
</Border> </Border>
<!-- 遮罩层 --> <!-- 遮罩层 -->
<Border Name="Overlay" Background="#9C7C5E" Opacity="0.8" Width="190" Height="110" CornerRadius="10" Margin="5" Visibility="Collapsed"> <Border Name="Overlay" Opacity="0.8" Width="255" Height="150" CornerRadius="10" Visibility="Collapsed">
<TextBlock Text="开始检测" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="18" FontStyle="Normal" FontFamily="PingFangSC-regular" Foreground="#FFFFFF"/> <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> </Border>
</Grid> </Grid>
<ControlTemplate.Triggers> <ControlTemplate.Triggers>

Loading…
Cancel
Save