diff --git a/Resource/Images/Cushion-shaped.png b/Resource/Images/Cushion-shaped.png deleted file mode 100644 index 47079a4..0000000 Binary files a/Resource/Images/Cushion-shaped.png and /dev/null differ diff --git a/Resource/Images/Emerald-shape.png b/Resource/Images/Emerald-shape.png deleted file mode 100644 index 9eaf1fc..0000000 Binary files a/Resource/Images/Emerald-shape.png and /dev/null differ diff --git a/Resource/Images/Heart-shaped.png b/Resource/Images/Heart-shaped.png deleted file mode 100644 index 9e8871e..0000000 Binary files a/Resource/Images/Heart-shaped.png and /dev/null differ diff --git a/Resource/Images/Odd-shaped.png b/Resource/Images/Odd-shaped.png deleted file mode 100644 index d8df207..0000000 Binary files a/Resource/Images/Odd-shaped.png and /dev/null differ diff --git a/Resource/Images/Pear-shaped.png b/Resource/Images/Pear-shaped.png deleted file mode 100644 index 4a06891..0000000 Binary files a/Resource/Images/Pear-shaped.png and /dev/null differ diff --git a/Resource/Images/Princess-shaped.png b/Resource/Images/Princess-shaped.png deleted file mode 100644 index 9b5125e..0000000 Binary files a/Resource/Images/Princess-shaped.png and /dev/null differ diff --git a/Resource/Images/UIResource/Cushion.png b/Resource/Images/UIResource/Cushion.png new file mode 100644 index 0000000..67a02c3 Binary files /dev/null and b/Resource/Images/UIResource/Cushion.png differ diff --git a/Resource/Images/UIResource/Cushion_select.png b/Resource/Images/UIResource/Cushion_select.png new file mode 100644 index 0000000..46148c7 Binary files /dev/null and b/Resource/Images/UIResource/Cushion_select.png differ diff --git a/Resource/Images/UIResource/Emerald.png b/Resource/Images/UIResource/Emerald.png new file mode 100644 index 0000000..82fc927 Binary files /dev/null and b/Resource/Images/UIResource/Emerald.png differ diff --git a/Resource/Images/UIResource/Emerald_select.png b/Resource/Images/UIResource/Emerald_select.png new file mode 100644 index 0000000..6063e86 Binary files /dev/null and b/Resource/Images/UIResource/Emerald_select.png differ diff --git a/Resource/Images/UIResource/Heart.png b/Resource/Images/UIResource/Heart.png new file mode 100644 index 0000000..e388328 Binary files /dev/null and b/Resource/Images/UIResource/Heart.png differ diff --git a/Resource/Images/UIResource/Heart_select.png b/Resource/Images/UIResource/Heart_select.png new file mode 100644 index 0000000..13de66d Binary files /dev/null and b/Resource/Images/UIResource/Heart_select.png differ diff --git a/Resource/Images/UIResource/Odd.png b/Resource/Images/UIResource/Odd.png new file mode 100644 index 0000000..823fc6b Binary files /dev/null and b/Resource/Images/UIResource/Odd.png differ diff --git a/Resource/Images/UIResource/Odd_select.png b/Resource/Images/UIResource/Odd_select.png new file mode 100644 index 0000000..83adb5c Binary files /dev/null and b/Resource/Images/UIResource/Odd_select.png differ diff --git a/Resource/Images/UIResource/Pear.png b/Resource/Images/UIResource/Pear.png new file mode 100644 index 0000000..e6edd14 Binary files /dev/null and b/Resource/Images/UIResource/Pear.png differ diff --git a/Resource/Images/UIResource/Pear_select.png b/Resource/Images/UIResource/Pear_select.png new file mode 100644 index 0000000..86bb732 Binary files /dev/null and b/Resource/Images/UIResource/Pear_select.png differ diff --git a/Resource/Images/UIResource/Princess.png b/Resource/Images/UIResource/Princess.png new file mode 100644 index 0000000..3ebc9dd Binary files /dev/null and b/Resource/Images/UIResource/Princess.png differ diff --git a/Resource/Images/UIResource/Princess_select.png b/Resource/Images/UIResource/Princess_select.png new file mode 100644 index 0000000..11090cf Binary files /dev/null and b/Resource/Images/UIResource/Princess_select.png differ diff --git a/Resource/Images/UIResource/oval.png b/Resource/Images/UIResource/oval.png new file mode 100644 index 0000000..d9deaae Binary files /dev/null and b/Resource/Images/UIResource/oval.png differ diff --git a/Resource/Images/UIResource/oval_select.png b/Resource/Images/UIResource/oval_select.png new file mode 100644 index 0000000..4a1ea50 Binary files /dev/null and b/Resource/Images/UIResource/oval_select.png differ diff --git a/Resource/Images/UIResource/round.png b/Resource/Images/UIResource/round.png new file mode 100644 index 0000000..1178b0d Binary files /dev/null and b/Resource/Images/UIResource/round.png differ diff --git a/Resource/Images/UIResource/round_P8-P8.png b/Resource/Images/UIResource/round_P8-P8.png new file mode 100644 index 0000000..f120c6c Binary files /dev/null and b/Resource/Images/UIResource/round_P8-P8.png differ diff --git a/Resource/Images/UIResource/round_select.png b/Resource/Images/UIResource/round_select.png new file mode 100644 index 0000000..5a4b66e Binary files /dev/null and b/Resource/Images/UIResource/round_select.png differ diff --git a/Resource/Images/oval.png b/Resource/Images/oval.png deleted file mode 100644 index 6c7fa73..0000000 Binary files a/Resource/Images/oval.png and /dev/null differ diff --git a/Resource/Images/round_3x.png b/Resource/Images/round_3x.png deleted file mode 100644 index ff43dd0..0000000 Binary files a/Resource/Images/round_3x.png and /dev/null differ diff --git a/Resource/Images/round_P8-P8.png b/Resource/Images/round_P8-P8.png deleted file mode 100644 index 93573b1..0000000 Binary files a/Resource/Images/round_P8-P8.png and /dev/null differ diff --git a/SparkClient.csproj b/SparkClient.csproj index aea9449..893f594 100644 --- a/SparkClient.csproj +++ b/SparkClient.csproj @@ -26,31 +26,49 @@ - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + Always diff --git a/ViewModel/Grading/DiamondSelectVM.cs b/ViewModel/Grading/DiamondSelectVM.cs index c3aa83b..2eea17f 100644 --- a/ViewModel/Grading/DiamondSelectVM.cs +++ b/ViewModel/Grading/DiamondSelectVM.cs @@ -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 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 GetButtonInfos() { List buttonInfos = new List(); - 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; } /// @@ -102,7 +100,7 @@ public class DiamondSelectVM : BaseViewModel item.IsHighlighted = true; }; List tempButtons2 = new List(); - 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)); + } + } + } \ No newline at end of file diff --git a/Views/Grading/DiamondSelect.xaml b/Views/Grading/DiamondSelect.xaml index 08bc1a2..8cad8df 100644 --- a/Views/Grading/DiamondSelect.xaml +++ b/Views/Grading/DiamondSelect.xaml @@ -13,7 +13,7 @@ - + @@ -27,18 +27,16 @@ - @@ -55,7 +53,7 @@ -