feat: 样式调整:首页、配置选择页

master
Tongg 5 months ago
parent 430ec25f5c
commit a85de96351
  1. 3
      Language/zh_CN.xaml
  2. 10
      MainWindow.xaml
  3. 54
      MainWindow.xaml.cs
  4. BIN
      Resource/Images/Algor_Def@3x.png
  5. BIN
      Resource/Images/Algor_Sel@3x.png
  6. BIN
      Resource/Images/Cut_Def@3x.png
  7. BIN
      Resource/Images/Cut_Sel@3x.png
  8. BIN
      Resource/Images/IGILogo.png
  9. BIN
      Resource/Images/Level_Def@3x.png
  10. BIN
      Resource/Images/Level_Sel@3x.png
  11. BIN
      Resource/Images/Setting_Def@3x.png
  12. BIN
      Resource/Images/Setting_Sel@3x.png
  13. BIN
      Resource/Images/UIResource/01-3.png
  14. BIN
      Resource/Images/UIResource/01-4.png
  15. BIN
      Resource/Images/UIResource/01-5.png
  16. BIN
      Resource/Images/UIResource/01-6.png
  17. BIN
      Resource/Images/UIResource/01-7.png
  18. BIN
      Resource/Images/UIResource/02-4.png
  19. BIN
      Resource/Images/UIResource/02-5.png
  20. BIN
      Resource/Images/UIResource/02-6.png
  21. BIN
      Resource/Images/UIResource/02-7.png
  22. BIN
      Resource/Images/UIResource/02-bg.jpg
  23. BIN
      Resource/Images/config_3x.png
  24. BIN
      Resource/Images/diam_3x.png
  25. BIN
      Resource/Images/diamtest_3x.png
  26. BIN
      Resource/Images/hand_3x.png
  27. BIN
      Resource/Images/help_3x.png
  28. BIN
      Resource/Images/homebg.png
  29. 39
      SparkClient.csproj
  30. 5
      SparkClient.sln.DotSettings.user
  31. 2
      Views/BaseWindow/BaseControl.xaml
  32. 11
      Views/BaseWindow/BaseControl.xaml.cs
  33. 317
      Views/BaseWindow/HomeWindow.xaml
  34. 57
      Views/BaseWindow/HomeWindow.xaml.cs
  35. 191
      Views/Configuration/ConfigMenuPage.xaml
  36. 111
      Views/Configuration/ConfigMenuPage.xaml.cs
  37. BIN
      logo.ico

@ -5,8 +5,11 @@
<sys:String x:Key="ProcName">星辉</sys:String>
<sys:String x:Key="StartTest">开始检测</sys:String>
<sys:String x:Key="StartTestFan">MEASURE</sys:String>
<sys:String x:Key="Config">配置</sys:String>
<sys:String x:Key="ConfigFan">SETTING</sys:String>
<sys:String x:Key="Help">帮助</sys:String>
<sys:String x:Key="HelpFan">HELP</sys:String>
<sys:String x:Key="DiamondSelect">钻石选择</sys:String>
<sys:String x:Key="DetectionResult">检测结果</sys:String>

@ -17,6 +17,7 @@
StateChanged="MainWindow_OnStateChanged"
Loaded="MainWindow_OnLoaded"
WindowState="Maximized"
Closing="MainWindow_OnClosing"
Background="{DynamicResource SecondaryRegionBrush}">
<!-- 内容区域 -->
@ -29,8 +30,13 @@
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- 窗口主体内容 -->
<Border Grid.Row="0" Background="#657aa9">
<ContentControl DataContextChanged="FrameworkElement_OnDataContextChanged" ClipToBounds="True" Content="{Binding Content}"/>
<!-- Background="#657aa9" -->
<Border Grid.Row="0">
<Border.Background>
<ImageBrush ImageSource="../Resource/Images/UIResource/01-bg.jpg"></ImageBrush>
</Border.Background>
<ContentControl DataContextChanged="FrameworkElement_OnDataContextChanged" ClipToBounds="True" Content="{Binding Content}"
Loaded="FrameworkElement_OnLoaded"/>
</Border>
</Grid>

@ -1,8 +1,10 @@
using System.IO;
using System.ComponentModel;
using System.IO;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using HandyControl.Controls;
using HandyControl.Tools;
using log4net;
@ -130,4 +132,54 @@ public partial class MainWindow
{
}
private void MainWindow_OnClosing(object? sender, CancelEventArgs e)
{
var message = MultilingualHelper.getString("ExitAsk");
var title = MultilingualHelper.getString("ExitAskTitle");
MessageBoxResult result = HandyControl.Controls.MessageBox.Show( message, title, MessageBoxButton.YesNo, MessageBoxImage.Question );
if (result == MessageBoxResult.Yes)
{
DataBaseHelper.CloseConnection();
// this.Close();
Environment.Exit(0);
}
e.Cancel = true;
}
private object _lastContent;
private void FrameworkElement_OnLoaded(object sender, RoutedEventArgs e)
{
var cc = (ContentControl)sender;
// 可以监听 Content 属性改变:Binding 上加 NotifyOnTargetUpdated="True" 后,响应 TargetUpdated
// 或者监听 DataContextChanged,但要注意真正变的是 cc.Content 而不是 DataContext
// 这里演示给 ContentControl 加一个依赖属性监听
cc.SizeChanged += (s, args) => { /* 有需要时也可在此动画 */ };
// 也可以用 Binding 的 SourceUpdated/TargetUpdated,这里简单写一个例子 —— 每次 LayoutUpdated 检查是否变更
cc.LayoutUpdated += (s, args) =>
{
// 如果内容发生了变化,则执行淡入动画
if (cc.Content != _lastContent)
{
_lastContent = cc.Content;
// 如果新内容不为空,就做一个 0→1 的淡入
if (cc.Content != null)
{
var fade = new DoubleAnimation
{
From = 0.0,
To = 1.0,
Duration = TimeSpan.FromSeconds(0.5),
EasingFunction = new CubicEase { EasingMode = EasingMode.EaseOut }
};
cc.BeginAnimation(UIElement.OpacityProperty, fade);
}
}
};
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 MiB

@ -6,6 +6,7 @@
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UseWPF>true</UseWPF>
<ApplicationIcon>logo.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
@ -43,18 +44,13 @@
<Resource Include="Resource\Images\Cushion-shaped.png" />
<Resource Include="Resource\Images\Emerald-shape.png" />
<Resource Include="Resource\Images\Heart-shaped.png" />
<Resource Include="Resource\Images\IGILogo.png" />
<None Remove="Resource\Images\homebg.png" />
<Resource Include="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\Setting_Def@3x.png" />
<Resource Include="Resource\Images\Setting_Sel@3x.png" />
<Resource Include="Resource\Images\ze-add-o 1@3x.png" />
<None Update="log4net.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
@ -62,27 +58,16 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Remove="Resource\Images\config_3x.png" />
<Resource Include="Resource\Images\config_3x.png" />
<None Remove="Resource\Images\diam_3x.png" />
<Resource Include="Resource\Images\diam_3x.png" />
<None Remove="Resource\Images\hand_3x.png" />
<Resource Include="Resource\Images\hand_3x.png" />
<None Remove="Resource\Images\help_3x.png" />
<Resource Include="Resource\Images\help_3x.png" />
<None Remove="Resource\Images\diamtest_3x.png" />
<Resource Include="Resource\Images\diamtest_3x.png" />
<None Remove="Resource\Images\Level_Def@3x.png" />
<Resource Include="Resource\Images\Level_Def@3x.png" />
<None Remove="Resource\Images\Level_Sel@3x.png" />
<Resource Include="Resource\Images\Level_Sel@3x.png" />
<None Remove="Resource\Images\Cut_Sel@3x.png" />
<Resource Include="Resource\Images\Cut_Sel@3x.png" />
<None Remove="Resource\Images\Cut_Def@3x.png" />
<Resource Include="Resource\Images\Cut_Def@3x.png" />
<None Remove="Resource\Images\Algor_Sel@3x.png" />
<Resource Include="Resource\Images\Algor_Sel@3x.png" />
<None Remove="Resource\Images\Algor_Def@3x.png" />
<Resource Include="Resource\Images\Algor_Def@3x.png" />
<None Remove="Resource\Document\Instructor简易软件使用教程.pdf" />
<Content Include="Resource\Document\Helper.pdf">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
@ -127,6 +112,28 @@
<Resource Include="Resource\Images\UIResource\01-bg.jpg" />
<None Remove="Resource\Images\UIResource\08-bg.jpg" />
<Resource Include="Resource\Images\UIResource\08-bg.jpg" />
<None Remove="Resource\Images\UIResource\02-4.png" />
<Resource Include="Resource\Images\UIResource\02-4.png" />
<None Remove="Resource\Images\UIResource\02-5.png" />
<Resource Include="Resource\Images\UIResource\02-5.png" />
<None Remove="Resource\Images\UIResource\02-6.png" />
<Resource Include="Resource\Images\UIResource\02-6.png" />
<None Remove="Resource\Images\UIResource\02-7.png" />
<Resource Include="Resource\Images\UIResource\02-7.png" />
<None Remove="Resource\Images\UIResource\01-3.png" />
<Resource Include="Resource\Images\UIResource\01-3.png" />
<None Remove="Resource\Images\UIResource\01-4.png" />
<Resource Include="Resource\Images\UIResource\01-4.png" />
<None Remove="Resource\Images\UIResource\03-1.png" />
<Resource Include="Resource\Images\UIResource\03-1.png" />
<None Remove="Resource\Images\UIResource\02-bg.jpg" />
<Resource Include="Resource\Images\UIResource\02-bg.jpg" />
<None Remove="Resource\Images\UIResource\01-5.png" />
<Resource Include="Resource\Images\UIResource\01-5.png" />
<None Remove="Resource\Images\UIResource\01-6.png" />
<Resource Include="Resource\Images\UIResource\01-6.png" />
<None Remove="Resource\Images\UIResource\01-7.png" />
<Resource Include="Resource\Images\UIResource\01-7.png" />
</ItemGroup>
<ItemGroup>

@ -9,6 +9,9 @@
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADependencyObject_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F60b63c019ead4a238340b47a1c0010d5226910_003Fca_003F09e9dbc0_003FDependencyObject_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADispatcherOperation_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F60b63c019ead4a238340b47a1c0010d5226910_003Fd8_003F13c94a2a_003FDispatcherOperation_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADispatcher_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F60b63c019ead4a238340b47a1c0010d5226910_003Ff6_003F1c45f799_003FDispatcher_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADispatcher_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F60b63c019ead4a238340b47a1c0010d5226910_003Ff6_003F1c45f799_003FDispatcher_002Ecs_002Fz_003A2_002D1/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADispatcher_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F9ac32f819d6853e0a6eda168c52b7f38eef9ae75936fb85d96a15c39d115245_003FDispatcher_002Ecs_002Fz_003A2_002D0/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADispatcher_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F9ac32f819d6853e0a6eda168c52b7f38eef9ae75936fb85d96a15c39d115245_003FDispatcher_002Ecs_002Fz_003A2_002D1/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEventRoute_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F96a561fe76144633acef44f09d0dcb8a825920_003Fb0_003F8f1a0289_003FEventRoute_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEventToCommand_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F436b6c3e323d68842c9e251322f5d42b47569f7c925e63aa245dc65465d2843_003FEventToCommand_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEventTriggerBase_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Ffdc001c928464b80ad45ffa09b838a3a15e200_003Faf_003F9abbeb44_003FEventTriggerBase_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
@ -23,6 +26,7 @@
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AJsonTextReader_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F7e62198beab24380bbac29171862d1d8adf10_003Fcf_003F3a31e3b0_003FJsonTextReader_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AJToken_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F58b0b7706a8be4f7160749424eb996a3f845a1682c3c7ac5e405a346a8c20f1_003FJToken_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AMaterialVariable_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F68d37d16685244cf9996bf767117a771210200_003Fe1_003Fb1acf2fc_003FMaterialVariable_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AMeshGeometryModel3D_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F68d37d16685244cf9996bf767117a771210200_003Fb5_003Fc0ee0c0f_003FMeshGeometryModel3D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARoutedEventArgs_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F1a88b4a860176dd5f825206bbebf3ee3d44ff3f058ceed9eb693c1eaa018_003FRoutedEventArgs_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARuntimeType_002ECoreCLR_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F955ec549fe664629353c3b5424b6ad6c7dfcec4ab59bae709ab962c228cf45_003FRuntimeType_002ECoreCLR_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThrowHelper_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fcca5cfb955e146648d91eb22ffe4627a84930_003F7a_003F2d86be72_003FThrowHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
@ -32,4 +36,5 @@
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AUndoStack_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F85eb3e3af2ef415e8072243864dec55a97e00_003F18_003F3f9ef08f_003FUndoStack_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AWindow_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003Fd0db11e55b76dc7f234163f6cee32b297b8ddb591fb0b5cbad1b46ed17343e18_003FWindow_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AXamlReader_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc82ad29b96d5485f88fa4f2ce6e6c019f60908_003F0b_003Fbba3a168_003FXamlReader_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003A_005F003CModule_005F003E_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe32fe72a9f26462ea51e007d0a63cbd252c00_003Fff_003F79504f9e_003F_005F003CModule_005F003E_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=9B346951_002D9ACB_002D4A13_002DB212_002D8C75AED24131_002Fd_003AViews_002Fd_003AGrading_002Ff_003AGradingResult_002Examl/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary>

@ -109,7 +109,7 @@
Padding="0"
>
<Button Background="Transparent" BorderBrush="Transparent" Padding="0" Command="{Binding CloseCommand}">
<Image Source="../../Resource/Images/UIResource/01-8.png" x:Name="ImageClosed" Width="25" Height="40"/>
<Image Source="../../Resource/Images/UIResource/01-8.png" x:Name="ImageClosed" Width="25" Height="45"/>
</Button>
</Border>
</Grid>

@ -64,16 +64,7 @@ public partial class BaseControl
private void Close_Click(object sender, MouseButtonEventArgs e)
{
var message = MultilingualHelper.getString("ExitAsk");
var title = MultilingualHelper.getString("ExitAskTitle");
MessageBoxResult result = HandyControl.Controls.MessageBox.Show( message, title, MessageBoxButton.YesNo, MessageBoxImage.Question );
if (result == MessageBoxResult.Yes)
{
Environment.Exit(0);
}
parentWindow.Close();
}
private void UIElement_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)

@ -7,111 +7,264 @@
xmlns:local="clr-namespace:SparkClient.Views.BaseWindow"
xmlns:baseWindow="clr-namespace:SparkClient.ViewModel.BaseWindow"
mc:Ignorable="d"
Loaded="HomeWindow_OnLoaded"
>
<!-- Height="450" Width="800" -->
<Border.Resources>
<!-- 定义一个缩放变换,用于按钮的放大缩小 -->
<ScaleTransform x:Key="ButtonScaleTransform" ScaleX="1" ScaleY="1" x:Shared="False" />
<!-- 鼠标移入的放大动画 -->
<Storyboard x:Key="MouseEnterStoryboard">
<!-- 放大ScaleX -->
<DoubleAnimation
From="1" To="1.1"
Duration="0:0:0.3"
Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<!-- 放大ScaleY -->
<DoubleAnimation
From="1" To="1.1"
Duration="0:0:0.3"
Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
<!-- 鼠标移出的缩小动画 -->
<Storyboard x:Key="MouseLeaveStoryboard">
<!-- 缩回ScaleX -->
<DoubleAnimation
From="1.1" To="1"
Duration="0:0:0.3"
Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<!-- 缩回ScaleY -->
<DoubleAnimation
From="1.1" To="1"
Duration="0:0:0.3"
Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</Border.Resources>
<Border.Background>
<ImageBrush ImageSource="pack://application:,,,/Resource/Images/UIResource/01-bg.jpg" Stretch="UniformToFill" />
</Border.Background>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition />
</Grid.RowDefinitions>
<Grid Grid.Row="0" Height="50" VerticalAlignment="Top" MouseLeftButtonDown="UIElement_OnMouseLeftButtonDown">
<!-- 顶部布局 -->
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- 首位元素:图标 -->
<Image Grid.Column="0" Source="../../Resource/Images/UIResource/03-1-1.png"
Width="30" Height="50"
VerticalAlignment="Center" HorizontalAlignment="Center" Margin="20 0 5 0" />
<!-- 次位元素:标题 -->
<TextBlock Grid.Column="1" Text="{DynamicResource ProcName}"
VerticalAlignment="Center" FontWeight="Bold"
HorizontalAlignment="Left" FontSize="20" >
<TextBlock.Foreground>
<LinearGradientBrush StartPoint="1,0" EndPoint="1,1">
<GradientStop Color="#11ceff" Offset="0" />
<GradientStop Color="#0a699f" Offset="1" />
</LinearGradientBrush>
</TextBlock.Foreground>
</TextBlock>
<!-- 末位元素:操作按钮 -->
<Grid Grid.Column="2" Width="260" HorizontalAlignment="Right">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<!-- 最小化 -->
<Button Grid.Column="2" BorderBrush="Transparent" Background="Transparent"
Padding="0" Height="40" BorderThickness="0" FocusVisualStyle="{x:Null}">
<Border Grid.Column="2"
Width="40" Height="40"
HorizontalAlignment="Center" VerticalAlignment="Center"
Background="Transparent"
MouseEnter="Border_Minimize_MouseEnter"
MouseLeave="Border_MouseLeave"
MouseLeftButtonDown="Minimize_Click">
<Image Source="../../Resource/Images/UIResource/01-3.png" Height="30"></Image>
</Border>
</Button>
<!-- 关闭 -->
<Border Grid.Column="3"
Width="40" Height="40"
HorizontalAlignment="Center" VerticalAlignment="Center"
Background="Transparent"
Margin="10 0 "
MouseEnter="Border_Close_MouseEnter"
MouseLeave="Border_MouseLeave"
MouseLeftButtonDown="Close_Click">
<Image Source="../../Resource/Images/UIResource/01-4.png" Height="30"></Image>
</Border>
</Grid>
</Grid>
<Grid Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- 左侧占位 -->
<Grid Grid.Column="0"></Grid>
<!-- 左侧占位 -->
<Grid Grid.Column="0"></Grid>
<!-- 右侧主内容 -->
<Grid Grid.Column="1" VerticalAlignment="Center" Height="800" Width="500">
<Grid.RowDefinitions>
<!-- 第一排 -->
<RowDefinition Height="8*" />
<!-- 第二排 -->
<RowDefinition Height="5*" />
</Grid.RowDefinitions>
<!-- 右侧主内容 -->
<Grid Grid.Column="1" VerticalAlignment="Center">
<Grid.RowDefinitions>
<!-- 第一排 -->
<RowDefinition Height="8*" />
<RowDefinition Height="20" />
<!-- 第二排 -->
<RowDefinition Height="5*" />
</Grid.RowDefinitions>
<!-- 第一排按钮 -->
<Button Grid.Row="0" Height="500"
Background="Transparent" BorderBrush="Transparent" Command="{Binding ShowDiamondSelPageCommand}">
<Border BorderBrush="Transparent" BorderThickness="1" CornerRadius="20" MouseLeave="UIElement_OnMouseLeave" MouseEnter="UIElement_OnMouseEnter">
<Border.Background>
<RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5">
<!-- 内部颜色 -->
<GradientStop Color="#FF4C4D4F" Offset="0.0" />
<!-- 外部颜色 -->
<GradientStop Color="#FF944703" Offset="2.0" />
</RadialGradientBrush>
</Border.Background>
<Grid Margin="0 " >
<!-- 第一排按钮 -->
<Button Grid.Row="0" Height="260" Width="500" BorderBrush="Transparent"
Padding="0" FocusVisualStyle="{x:Null}"
RenderTransformOrigin="0.5,0.5"
RenderTransform="{StaticResource ButtonScaleTransform}"
Command="{Binding ShowDiamondSelPageCommand}">
<Button.Background>
<ImageBrush ImageSource="../../Resource/Images/UIResource/01-5.png"/>
</Button.Background>
<Button.Triggers>
<EventTrigger RoutedEvent="UIElement.MouseEnter">
<BeginStoryboard Storyboard="{StaticResource MouseEnterStoryboard}" />
</EventTrigger>
<EventTrigger RoutedEvent="UIElement.MouseLeave">
<BeginStoryboard Storyboard="{StaticResource MouseLeaveStoryboard}" />
</EventTrigger>
</Button.Triggers>
<Grid Width="450">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="4*"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<Image Grid.Row="0" Source="pack://application:,,,/Resource/Images/diamtest_3x.png" Height="400" Width="400" Margin="20 0" />
<TextBlock Grid.Row="1" Text="{DynamicResource StartTest}" FontSize="36" Margin="10"
TextAlignment="Center" Foreground="Azure"/>
<TextBlock Grid.Column="1" Grid.Row="0" Foreground="Azure" FontWeight="Bold" FontSize="46"
TextAlignment="Center"
Text="{StaticResource StartTest}"/>
<TextBlock Grid.Column="1" Grid.Row="1" Foreground="Azure" FontWeight="Bold" FontSize="26"
TextAlignment="Center"
Text="{StaticResource StartTestFan}"/>
</Grid>
</Border>
</Button>
</Button>
<!-- 第二排两个按钮 -->
<Grid Grid.Row="1" Margin="0 10 0 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- 第二排第一个按钮 -->
<Button Grid.Column="0" Command="{Binding ShowConfigPageCommand}" Background="Transparent" BorderBrush="Transparent" Height="300" >
<Border BorderBrush="Transparent" BorderThickness="1" CornerRadius="20" MouseLeave="UIElement_OnMouseLeave" MouseEnter="UIElement_OnMouseEnter">
<Border.Background>
<RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5">
<!-- 内部颜色 -->
<GradientStop Color="#FF4C4D4F" Offset="0.0" />
<!-- 外部颜色 -->
<GradientStop Color="#FF944703" Offset="2.0" />
</RadialGradientBrush>
</Border.Background>
<Grid Margin="0 " >
<!-- 第二排两个按钮 -->
<Grid Grid.Row="2" Width="500">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="20" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Height="150" Width="240" BorderBrush="Transparent"
Padding="0" FocusVisualStyle="{x:Null}"
RenderTransformOrigin="0.5,0.5"
RenderTransform="{StaticResource ButtonScaleTransform}"
Command="{Binding ShowConfigPageCommand}">
<Button.Background>
<ImageBrush Stretch="Uniform" ImageSource="../../Resource/Images/UIResource/01-6.png"/>
</Button.Background>
<Button.Triggers>
<EventTrigger RoutedEvent="UIElement.MouseEnter">
<BeginStoryboard Storyboard="{StaticResource MouseEnterStoryboard}" />
</EventTrigger>
<EventTrigger RoutedEvent="UIElement.MouseLeave">
<BeginStoryboard Storyboard="{StaticResource MouseLeaveStoryboard}" />
</EventTrigger>
</Button.Triggers>
<Grid Width="240">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="4*"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<Image Grid.Row="0" Source="pack://application:,,,/Resource/Images/config_3x.png" Height="200" Width="130" Margin="30 0" />
<TextBlock Grid.Row="1" Text="{DynamicResource Config}" FontSize="28" Margin="10"
TextAlignment="Center" Foreground="Azure"/>
<TextBlock Grid.Column="1" Grid.Row="0" Foreground="Azure" FontWeight="Bold" FontSize="42"
TextAlignment="Center"
Text="{StaticResource Config}"/>
<TextBlock Grid.Column="1" Grid.Row="1" Foreground="Azure" FontWeight="Bold" FontSize="22"
TextAlignment="Center"
Text="{StaticResource ConfigFan}"/>
</Grid>
</Border>
</Button>
</Button>
<Button Grid.Column="1" Command="{Binding ShowHelperPageCommand}" Background="Transparent" BorderBrush="Transparent" Height="300" >
<Border BorderBrush="Transparent" BorderThickness="1" CornerRadius="20" MouseLeave="UIElement_OnMouseLeave" MouseEnter="UIElement_OnMouseEnter">
<Border.Background>
<RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5">
<!-- 内部颜色 -->
<GradientStop Color="#FF4C4D4F" Offset="0.0" />
<!-- 外部颜色 -->
<GradientStop Color="#FF944703" Offset="2.0" />
</RadialGradientBrush>
</Border.Background>
<Grid Margin="0 " >
<Button Grid.Column="2" Height="150" Width="240" BorderBrush="Transparent"
Padding="0" FocusVisualStyle="{x:Null}"
RenderTransformOrigin="0.5,0.5"
RenderTransform="{StaticResource ButtonScaleTransform}"
Command="{Binding ShowHelperPageCommand}">
<Button.Background>
<ImageBrush Stretch="Uniform" ImageSource="../../Resource/Images/UIResource/01-7.png"/>
</Button.Background>
<Button.Triggers>
<EventTrigger RoutedEvent="UIElement.MouseEnter">
<BeginStoryboard Storyboard="{StaticResource MouseEnterStoryboard}" />
</EventTrigger>
<EventTrigger RoutedEvent="UIElement.MouseLeave">
<BeginStoryboard Storyboard="{StaticResource MouseLeaveStoryboard}" />
</EventTrigger>
</Button.Triggers>
<Grid Width="240">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="4*"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<Image Grid.Row="0" Source="pack://application:,,,/Resource/Images/help_3x.png" Height="200" Width="140" Margin="20 0" />
<TextBlock Grid.Row="1" Text="{DynamicResource Help}" FontSize="28" Margin="10"
TextAlignment="Center" Foreground="Azure"/>
<TextBlock Grid.Column="1" Grid.Row="0" Foreground="Azure" FontWeight="Bold" FontSize="42"
TextAlignment="Center"
Text="{StaticResource Help}"/>
<TextBlock Grid.Column="1" Grid.Row="1" Foreground="Azure" FontWeight="Bold" FontSize="22"
TextAlignment="Center"
Text="{StaticResource HelpFan}"/>
</Grid>
</Border>
</Button>
</Button>
</Grid>
</Grid>
</Grid>
</Grid>
</Border>

@ -8,6 +8,7 @@ namespace SparkClient.Views.BaseWindow;
public partial class HomeWindow
{
private Window parentWindow;
public HomeWindow()
{
InitializeComponent();
@ -60,4 +61,60 @@ public partial class HomeWindow
// border.Background = new SolidColorBrush(Color.FromArgb(50, 255, 255, 255));
}
}
private void Minimize_Click(object sender, MouseButtonEventArgs e)
{
//this.WindowState = WindowState.Minimized;
if(parentWindow != null)parentWindow.WindowState = WindowState.Minimized;
}
private void Close_Click(object sender, MouseButtonEventArgs e)
{
parentWindow.Close();
}
private void UIElement_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
try
{
// this.DragMove();
}
catch (InvalidOperationException ex)
{
}
}
}
private void Border_Minimize_MouseEnter(object sender, MouseEventArgs e)
{
// 鼠标进入时更改背景色
if (sender is Border border)
{
border.Background = new SolidColorBrush(Color.FromArgb(50, 255, 255, 255));
}
}
private void Border_Close_MouseEnter(object sender, MouseEventArgs e)
{
// 鼠标进入时更改背景色
if (sender is Border border)
{
border.Background = new SolidColorBrush(Color.FromArgb(50, 255, 0, 0));
}
}
private void Border_MouseLeave(object sender, MouseEventArgs e)
{
// 鼠标离开时恢复背景色
if (sender is Border border)
{
border.Background = new SolidColorBrush(Colors.Transparent);
}
}
private void HomeWindow_OnLoaded(object sender, RoutedEventArgs e)
{
parentWindow = Window.GetWindow(this);
}
}

@ -4,22 +4,108 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:SparkClient.Views"
Loaded="ConfigMenuPage_OnLoaded"
mc:Ignorable="d" >
<Border.Resources>
<!-- 定义一个平移转换,用于让按钮整体向上移动 -->
<TranslateTransform x:Key="ButtonTranslateTransform" X="0" Y="0" x:Shared="False" />
<!-- 鼠标移入时的动画:Y从0移动到 -20 像素(向上) -->
<Storyboard x:Key="MouseEnterStoryboard">
<DoubleAnimation
From="0" To="-20"
Duration="0:0:0.3"
Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.Y)">
<!-- 使用三次方缓动函数,EaseOut 表示前快后慢 -->
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
<!-- 鼠标移出时的动画:Y从 -20 返回到 0 -->
<Storyboard x:Key="MouseLeaveStoryboard">
<DoubleAnimation
From="-20" To="0"
Duration="0:0:0.3"
Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.Y)">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</Border.Resources>
<Grid>
<Grid.Background>
<ImageBrush ImageSource="pack://application:,,,/Resource/Images/UIResource/08-bg.jpg" Stretch="UniformToFill" />
</Grid.Background>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition />
</Grid.RowDefinitions>
<Border Width="1000" Height="400" BorderBrush="Transparent" BorderThickness="1" CornerRadius="20">
<!-- <Border.Background> -->
<!-- <RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5"> -->
<!-- ~1~ 内部颜色 @1@ -->
<!-- <GradientStop Color="#754C4D4F" Offset="0.0" /> -->
<!-- ~1~ 外部颜色 @1@ -->
<!-- <GradientStop Color="#75944703" Offset="2.0" /> -->
<!-- </RadialGradientBrush> -->
<!-- </Border.Background> -->
<Grid Grid.Row="0" Height="50" VerticalAlignment="Top" MouseLeftButtonDown="UIElement_OnMouseLeftButtonDown">
<!-- 顶部布局 -->
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- 首位元素:图标 -->
<Image Grid.Column="0" Source="../../Resource/Images/UIResource/03-1-1.png"
Width="30" Height="50"
VerticalAlignment="Center" HorizontalAlignment="Center" Margin="20 0 5 0" />
<!-- 次位元素:标题 -->
<TextBlock Grid.Column="1" Text="{DynamicResource ProcName}"
VerticalAlignment="Center" FontWeight="Bold"
HorizontalAlignment="Left" FontSize="20" >
<TextBlock.Foreground>
<LinearGradientBrush StartPoint="1,0" EndPoint="1,1">
<GradientStop Color="#11ceff" Offset="0" />
<GradientStop Color="#0a699f" Offset="1" />
</LinearGradientBrush>
</TextBlock.Foreground>
</TextBlock>
<!-- 末位元素:操作按钮 -->
<Grid Grid.Column="2" Width="260" HorizontalAlignment="Right">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<!-- 最小化 -->
<Button Grid.Column="2" BorderBrush="Transparent" Background="Transparent"
Padding="0" Height="40" BorderThickness="0" FocusVisualStyle="{x:Null}">
<Border Grid.Column="2"
Width="40" Height="40"
HorizontalAlignment="Center" VerticalAlignment="Center"
Background="Transparent"
MouseEnter="Border_Minimize_MouseEnter"
MouseLeave="Border_MouseLeave"
MouseLeftButtonDown="Minimize_Click">
<Image Source="../../Resource/Images/UIResource/01-3.png" Height="30"></Image>
</Border>
</Button>
<!-- 关闭 -->
<Border Grid.Column="3"
Width="40" Height="40"
HorizontalAlignment="Center" VerticalAlignment="Center"
Background="Transparent"
Margin="10 0 "
MouseEnter="Border_Close_MouseEnter"
MouseLeave="Border_MouseLeave"
MouseLeftButtonDown="Close_Click">
<Image Source="../../Resource/Images/UIResource/01-4.png" Height="30"></Image>
</Border>
</Grid>
</Grid>
<Border Grid.Row="1" Width="1090" Height="400" BorderBrush="Transparent" BorderThickness="1" CornerRadius="20">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
@ -29,6 +115,91 @@
<Image Source="../../Resource/Images/UIResource/01-8.png" x:Name="ImageClosed" Width="25" Height="40"/>
</Button>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" MaxWidth="250"/>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" MaxWidth="250"/>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" MaxWidth="250"/>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" MaxWidth="250"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Padding="0" Width="250" Height="250" BorderBrush="Transparent"
RenderTransformOrigin="0.5, 0.5" RenderTransform="{StaticResource ButtonTranslateTransform}"
Command="{Binding LevelConfigCommand}">
<Button.Background>
<ImageBrush ImageSource="../../Resource/Images/UIResource/02-4.png"></ImageBrush>
</Button.Background>
<Button.Triggers>
<EventTrigger RoutedEvent="UIElement.MouseEnter">
<BeginStoryboard Storyboard="{StaticResource MouseEnterStoryboard}" />
</EventTrigger>
<EventTrigger RoutedEvent="UIElement.MouseLeave">
<BeginStoryboard Storyboard="{StaticResource MouseLeaveStoryboard}" />
</EventTrigger>
</Button.Triggers>
<TextBlock Foreground="Azure" FontWeight="Bold" FontSize="28"
Margin="0 125 0 0"
Text="{StaticResource LevelConfig}"/>
</Button>
<Button Grid.Column="2" Padding="0" Width="250" Height="250" BorderBrush="Transparent"
RenderTransformOrigin="0.5, 0.5" RenderTransform="{StaticResource ButtonTranslateTransform}"
Command="{Binding AlgorithmConfigCommand}">
<Button.Background>
<ImageBrush ImageSource="../../Resource/Images/UIResource/02-5.png"></ImageBrush>
</Button.Background>
<Button.Triggers>
<EventTrigger RoutedEvent="UIElement.MouseEnter">
<BeginStoryboard Storyboard="{StaticResource MouseEnterStoryboard}" />
</EventTrigger>
<EventTrigger RoutedEvent="UIElement.MouseLeave">
<BeginStoryboard Storyboard="{StaticResource MouseLeaveStoryboard}" />
</EventTrigger>
</Button.Triggers>
<TextBlock Foreground="Azure" FontWeight="Bold" FontSize="28"
Margin="0 125 0 0"
Text="{StaticResource LevelConfig}"/>
</Button>
<Button Grid.Column="4" Padding="0" Width="250" Height="250" BorderBrush="Transparent"
RenderTransformOrigin="0.5, 0.5" RenderTransform="{StaticResource ButtonTranslateTransform}"
Command="{Binding CutConfigCommand}">
<Button.Background>
<ImageBrush ImageSource="../../Resource/Images/UIResource/02-6.png"></ImageBrush>
</Button.Background>
<Button.Triggers>
<EventTrigger RoutedEvent="UIElement.MouseEnter">
<BeginStoryboard Storyboard="{StaticResource MouseEnterStoryboard}" />
</EventTrigger>
<EventTrigger RoutedEvent="UIElement.MouseLeave">
<BeginStoryboard Storyboard="{StaticResource MouseLeaveStoryboard}" />
</EventTrigger>
</Button.Triggers>
<TextBlock Foreground="Azure" FontWeight="Bold" FontSize="28"
Margin="0 125 0 0"
Text="{StaticResource CutConfig}"/>
</Button>
<Button Grid.Column="6" Padding="0" Width="250" Height="250" BorderBrush="Transparent"
RenderTransformOrigin="0.5, 0.5" RenderTransform="{StaticResource ButtonTranslateTransform}"
Command="{Binding SettingConfigCommand}">
<Button.Background>
<ImageBrush ImageSource="../../Resource/Images/UIResource/02-7.png"></ImageBrush>
</Button.Background>
<Button.Triggers>
<EventTrigger RoutedEvent="UIElement.MouseEnter">
<BeginStoryboard Storyboard="{StaticResource MouseEnterStoryboard}" />
</EventTrigger>
<EventTrigger RoutedEvent="UIElement.MouseLeave">
<BeginStoryboard Storyboard="{StaticResource MouseLeaveStoryboard}" />
</EventTrigger>
</Button.Triggers>
<TextBlock Foreground="Azure" FontWeight="Bold" FontSize="28"
Margin="0 125 0 0"
Text="{StaticResource SystemSetting}"/>
</Button>
</Grid>
</Grid>

@ -1,4 +1,5 @@

using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
@ -9,63 +10,67 @@ namespace SparkClient.Views.Configuration;
public partial class ConfigMenuPage
{
private Window parentWindow;
public ConfigMenuPage()
{
InitializeComponent();
DataContext = new ConfigMenuPageVM();
}
private void Border_Minimize_MouseEnter(object sender, MouseEventArgs e)
{
// 鼠标进入时更改背景色
if (sender is Border border)
{
border.Background = new SolidColorBrush(Color.FromArgb(50, 255, 255, 255));
}
}
private void Border_Close_MouseEnter(object sender, MouseEventArgs e)
{
// 鼠标进入时更改背景色
if (sender is Border border)
{
border.Background = new SolidColorBrush(Color.FromArgb(50, 255, 0, 0));
}
}
private void Border_MouseLeave(object sender, MouseEventArgs e)
{
// 鼠标离开时恢复背景色
if (sender is Border border)
{
border.Background = new SolidColorBrush(Colors.Transparent);
}
}
private void Minimize_Click(object sender, MouseButtonEventArgs e)
{
//this.WindowState = WindowState.Minimized;
if(parentWindow != null)parentWindow.WindowState = WindowState.Minimized;
}
private void Close_Click(object sender, MouseButtonEventArgs e)
{
parentWindow.Close();
}
private void UIElement_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
try
{
// this.DragMove();
}
catch (InvalidOperationException ex)
{
}
}
}
// private void LevelButton_OnMouseEnter(object sender, MouseEventArgs e)
// {
// var brushConverter = new BrushConverter();
// imgLevel.Source = new BitmapImage(new Uri(@"pack://application:,,,/Resource/Images/Level_Sel@3x.png"));
// tbLevel.Foreground = (Brush)brushConverter.ConvertFromString("#9C7C5E");;
// }
//
// private void LevelButton_OnMouseLeave(object sender, MouseEventArgs e)
// {
// var brushConverter = new BrushConverter();
// imgLevel.Source = new BitmapImage(new Uri(@"pack://application:,,,/Resource/Images/Level_Def@3x.png"));
// tbLevel.Foreground = new SolidColorBrush(Colors.Azure);
// }
// private void AlgorButton_OnMouseEnter(object sender, MouseEventArgs e)
// {
// var brushConverter = new BrushConverter();
// imgAlgor.Source = new BitmapImage(new Uri(@"pack://application:,,,/Resource/Images/Algor_Sel@3x.png"));
// tbAlgor.Foreground = (Brush)brushConverter.ConvertFromString("#9C7C5E");;
// }
//
// private void AlgorButton_OnMouseLeave(object sender, MouseEventArgs e)
// {
// var brushConverter = new BrushConverter();
// imgAlgor.Source = new BitmapImage(new Uri(@"pack://application:,,,/Resource/Images/Algor_Def@3x.png"));
// tbAlgor.Foreground = new SolidColorBrush(Colors.Azure);
// }
// private void CutButton_OnMouseEnter(object sender, MouseEventArgs e)
// {
// var brushConverter = new BrushConverter();
// imgCut.Source = new BitmapImage(new Uri(@"pack://application:,,,/Resource/Images/Cut_Sel@3x.png"));
// tbCut.Foreground = (Brush)brushConverter.ConvertFromString("#9C7C5E");;
// }
//
// private void CutButton_OnMouseLeave(object sender, MouseEventArgs e)
// {
// var brushConverter = new BrushConverter();
// imgCut.Source = new BitmapImage(new Uri(@"pack://application:,,,/Resource/Images/Cut_Def@3x.png"));
// tbCut.Foreground = new SolidColorBrush(Colors.Azure);
// }
//
// private void SettingButton_OnMouseEnter(object sender, MouseEventArgs e)
// {
// var brushConverter = new BrushConverter();
// imgSet.Source = new BitmapImage(new Uri(@"pack://application:,,,/Resource/Images/Setting_Sel@3x.png"));
// tbSet.Foreground = (Brush)brushConverter.ConvertFromString("#9C7C5E"); ;
// }
//
// private void SettingButton_OnMouseLeave(object sender, MouseEventArgs e)
// {
// var brushConverter = new BrushConverter();
// imgSet.Source = new BitmapImage(new Uri(@"pack://application:,,,/Resource/Images/Setting_Def@3x.png"));
// tbSet.Foreground = new SolidColorBrush(Colors.Azure);
// }
private void ConfigMenuPage_OnLoaded(object sender, RoutedEventArgs e)
{
parentWindow = Window.GetWindow(this);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Loading…
Cancel
Save