fix: 部署意见修改(8/8)(0/3)

master
Tongg 5 months ago
parent 3debfe0fc4
commit 1c61cf83e1
  1. BIN
      Resource/Images/UIResource/Next.png
  2. BIN
      Resource/Images/UIResource/NextHover.png
  3. 5
      SparkClient.csproj
  4. 2
      SparkClient.sln.DotSettings.user
  5. 63
      ViewModel/BaseWindow/BaseControlVM.cs
  6. 4
      ViewModel/BaseWindow/HomeWindowVM.cs
  7. 4
      ViewModel/Configuration/ConfigMenuPageVM.cs
  8. 4
      ViewModel/Dialog/StartDialogVM.cs
  9. 4
      ViewModel/Grading/DiamondSelectVM.cs
  10. 25
      Views/BaseWindow/BaseControl.xaml
  11. 15
      Views/BaseWindow/BaseControl.xaml.cs
  12. 4
      Views/Grading/GradingResult.xaml
  13. 2
      Views/Grading/GradingResult.xaml.cs

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

@ -23,6 +23,7 @@
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>
<PackageReference Include="GlobalHotKey" Version="1.1.0" />
<PackageReference Include="HandyControl" Version="3.5.1" /> <PackageReference Include="HandyControl" Version="3.5.1" />
<PackageReference Include="HandyControl.Lang.en" Version="3.5.1" /> <PackageReference Include="HandyControl.Lang.en" Version="3.5.1" />
<PackageReference Include="HandyControls.Lang.zh-CN" Version="3.5.3" /> <PackageReference Include="HandyControls.Lang.zh-CN" Version="3.5.3" />
@ -218,6 +219,10 @@
<Resource Include="Resource\Images\UIResource\03-0.jpg" /> <Resource Include="Resource\Images\UIResource\03-0.jpg" />
<None Remove="Resource\Images\UserControl\03-8-3.png" /> <None Remove="Resource\Images\UserControl\03-8-3.png" />
<Resource Include="Resource\Images\UserControl\03-8-3.png" /> <Resource Include="Resource\Images\UserControl\03-8-3.png" />
<None Remove="Resource\Images\UIResource\Next.png" />
<Resource Include="Resource\Images\UIResource\Next.png" />
<None Remove="Resource\Images\UIResource\NextHover.png" />
<Resource Include="Resource\Images\UIResource\NextHover.png" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

@ -14,6 +14,7 @@
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AClrObjectRuntime_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fab21534b1ec041498b3c23a65e9ed82b15a918_003F19_003F3f4e517b_003FClrObjectRuntime_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AClrObjectRuntime_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fab21534b1ec041498b3c23a65e9ed82b15a918_003F19_003F3f4e517b_003FClrObjectRuntime_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AColor_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc45597e5b7ab42d99b3882b94d97e64034a00_003Ffb_003F5b076364_003FColor_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AColor_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc45597e5b7ab42d99b3882b94d97e64034a00_003Ffb_003F5b076364_003FColor_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AConfigurationManager_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4855f825db5f4f469faf36f45940559e106918_003Fff_003Fb357c8b2_003FConfigurationManager_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AConfigurationManager_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4855f825db5f4f469faf36f45940559e106918_003Fff_003Fb357c8b2_003FConfigurationManager_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AConfigurationManager_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4855f825db5f4f469faf36f45940559e106918_003Fff_003Fb357c8b2_003FConfigurationManager_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AContentControl_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F27bb3fae2c21cbe9a2565477feaa7a5b3a19cd779b4a91a98edfff9cd468972_003FContentControl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AContentControl_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F27bb3fae2c21cbe9a2565477feaa7a5b3a19cd779b4a91a98edfff9cd468972_003FContentControl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACulturePreservingExecutionContext_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbc9a074a2f204631bd77a8b9ba934b50226928_003Fd3_003Fb047e8cb_003FCulturePreservingExecutionContext_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACulturePreservingExecutionContext_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbc9a074a2f204631bd77a8b9ba934b50226928_003Fd3_003Fb047e8cb_003FCulturePreservingExecutionContext_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<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_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>
@ -43,6 +44,7 @@
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGraphics_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb6416db4533e4255bc43c1cfd556a910175930_003Fa9_003Ff7e2a9a8_003FGraphics_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGraphics_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb6416db4533e4255bc43c1cfd556a910175930_003Fa9_003Ff7e2a9a8_003FGraphics_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGuid_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F211e6f3b24fa438a92f1815153647ce2c8f908_003Faa_003Fa49e75b9_003FGuid_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGuid_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F211e6f3b24fa438a92f1815153647ce2c8f908_003Faa_003Fa49e75b9_003FGuid_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AHorizontalAlignment_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F6412d4331611499aab4eb63809a2a83bf60910_003F45_003F96f9f663_003FHorizontalAlignment_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AHorizontalAlignment_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F6412d4331611499aab4eb63809a2a83bf60910_003F45_003F96f9f663_003FHorizontalAlignment_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AHotKeyManager_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fd5c1718d5e8747ee92425852975506512400_003Fed_003Fdddc73e1_003FHotKeyManager_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AILog_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003Fcd69d110241e68c102d90de60fe9abbdef79631973c35119af9fe6139bcdbc_003FILog_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AILog_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003Fcd69d110241e68c102d90de60fe9abbdef79631973c35119af9fe6139bcdbc_003FILog_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AILog_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F6f4e00a876324444bc5ae4e52ed22ade46200_003F49_003Fe673ccfc_003FILog_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AILog_002Ecs_002Fl_003AC_0021_003FUsers_003Ftongg_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F6f4e00a876324444bc5ae4e52ed22ade46200_003F49_003Fe673ccfc_003FILog_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AInputManager_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F59d3cbd3f2f27be170d8c07c2c3947fe0efe92848ebab828a63cfbe1ef3a1d_003FInputManager_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AInputManager_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F59d3cbd3f2f27be170d8c07c2c3947fe0efe92848ebab828a63cfbe1ef3a1d_003FInputManager_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>

@ -1,5 +1,6 @@
using System.Windows; using System.Windows;
using System.Windows.Input; using System.Windows.Input;
using GlobalHotKey;
using HandyControl.Controls; using HandyControl.Controls;
using SparkClient.Model.Helper; using SparkClient.Model.Helper;
using SparkClient.ViewModel.Grading; using SparkClient.ViewModel.Grading;
@ -22,6 +23,15 @@ public class BaseControlVM : BaseViewModel
public object Content { get; } public object Content { get; }
public ICommand CloseCommand { get; } public ICommand CloseCommand { get; }
public ICommand EscCloseCommand { get; }
public ICommand NextCommand { get; }
private HotKeyManager _hotKeyManager;
/// <summary> /// <summary>
/// 构造:创建一个带有子页面的模板,并指定子窗口标题,并指定右侧按钮事件内容 /// 构造:创建一个带有子页面的模板,并指定子窗口标题,并指定右侧按钮事件内容
/// </summary> /// </summary>
@ -33,6 +43,9 @@ public class BaseControlVM : BaseViewModel
Content = vm; Content = vm;
WindowTitle = windowTitle; WindowTitle = windowTitle;
CloseCommand = new RelayCommand(CloseVM); CloseCommand = new RelayCommand(CloseVM);
EscCloseCommand = new RelayCommand(OnClose);
NextCommand = new RelayCommand(NextDiamond);
_hotKeyManager = new HotKeyManager();
} }
/// <summary> /// <summary>
@ -44,7 +57,34 @@ public class BaseControlVM : BaseViewModel
{ {
Content = vm; Content = vm;
WindowTitle = windowTitle; WindowTitle = windowTitle;
ShowFunctionButton = Visibility.Hidden;
CloseCommand = new RelayCommand(CloseVM); CloseCommand = new RelayCommand(CloseVM);
NextCommand = new RelayCommand(NextDiamond);
if (vm.GetType().Equals(typeof(GradingResultVM)))
{
Application.Current.Dispatcher.Invoke(() =>
{
try
{
_hotKeyManager = new HotKeyManager();
var hotKey = new HotKey(Key.R, ModifierKeys.Control | ModifierKeys.Alt);
_hotKeyManager.Register(hotKey);
_hotKeyManager.KeyPressed += OnHotKeyPressed;
}
catch (Exception ex)
{
Logger.Info("设计缺陷:快捷键重复注册");
}
});
}
else
{
// _hotKeyManager = new HotKeyManager();
// var hotKey = new HotKey(Key.R, ModifierKeys.Control | ModifierKeys.Alt);
// _hotKeyManager.Unregister(hotKey);
}
} }
/// <summary> /// <summary>
/// 构造:创建一个带有子页面的模板 /// 构造:创建一个带有子页面的模板
@ -55,6 +95,29 @@ public class BaseControlVM : BaseViewModel
Content = vm; Content = vm;
CloseCommand = new RelayCommand(CloseVM); CloseCommand = new RelayCommand(CloseVM);
} }
private void OnClose(object parameter)
{
if (parameter is KeyEventArgs keyEventArgs && keyEventArgs.Key == Key.Escape)
{
CloseVM(parameter);
}
}
private void OnHotKeyPressed(object sender, KeyPressedEventArgs e)
{
if(WindowTitle.StartsWith(MultilingualHelper.getString("DetectionResult")))
NextDiamond("");
}
public void NextDiamond(object parameter)
{
CloseVM(parameter);
DiamondSelectVM selectVm = new DiamondSelectVM();
ViewControl = selectVm;
WindowTitle = MultilingualHelper.getString("DiamondSelect");
selectVm.StartGrading("ROUND P8 P8");
}
/// <summary> /// <summary>
/// 关闭并退回至上一个页面 /// 关闭并退回至上一个页面

@ -38,6 +38,7 @@ public class HomeWindowVM : BaseViewModel
if (isPermissions()) if (isPermissions())
{ {
ConfigMenuPageVM vm = new ConfigMenuPageVM(); ConfigMenuPageVM vm = new ConfigMenuPageVM();
WindowManager.mainViewModel.Content = vm; WindowManager.mainViewModel.Content = vm;
WindowManager.openContent.Add(vm); WindowManager.openContent.Add(vm);
} }
@ -45,6 +46,7 @@ public class HomeWindowVM : BaseViewModel
{ {
BaseControlVM vm = new BaseControlVM(new SettingBaseVM(), MultilingualHelper.getString("SystemSetting")); BaseControlVM vm = new BaseControlVM(new SettingBaseVM(), MultilingualHelper.getString("SystemSetting"));
WindowManager.mainViewModel.Content = vm; WindowManager.mainViewModel.Content = vm;
WindowManager.openContent.Add(vm); WindowManager.openContent.Add(vm);
} }
} }
@ -89,7 +91,7 @@ public class HomeWindowVM : BaseViewModel
//if (result != MessageBoxResult.None) //if (result != MessageBoxResult.None)
//{ //{
BaseControlVM vm = new BaseControlVM(new DiamondSelectVM(), MultilingualHelper.getString("DiamondSelect")); BaseControlVM vm = new BaseControlVM(new DiamondSelectVM(), MultilingualHelper.getString("DiamondSelect"));
vm.ShowFunctionButton = System.Windows.Visibility.Hidden;
WindowManager.mainViewModel.Content = vm; WindowManager.mainViewModel.Content = vm;
WindowManager.openContent.Add(vm); WindowManager.openContent.Add(vm);
//} //}

@ -39,7 +39,6 @@ public class ConfigMenuPageVM : BaseViewModel
public void LevelConfig(object parameter) public void LevelConfig(object parameter)
{ {
BaseControlVM vm = new BaseControlVM(new LevelConfigVM(null), MultilingualHelper.getString("LevelConfig")); BaseControlVM vm = new BaseControlVM(new LevelConfigVM(null), MultilingualHelper.getString("LevelConfig"));
vm.ShowFunctionButton = System.Windows.Visibility.Hidden;
WindowManager.mainViewModel.Content = vm; WindowManager.mainViewModel.Content = vm;
WindowManager.openContent.Add(vm); WindowManager.openContent.Add(vm);
} }
@ -51,7 +50,6 @@ public class ConfigMenuPageVM : BaseViewModel
public void AlgorithmConfig(object parameter) public void AlgorithmConfig(object parameter)
{ {
BaseControlVM vm = new BaseControlVM(new AlgorithmConfigVM(), MultilingualHelper.getString("AlgorithmConfig")); BaseControlVM vm = new BaseControlVM(new AlgorithmConfigVM(), MultilingualHelper.getString("AlgorithmConfig"));
vm.ShowFunctionButton = System.Windows.Visibility.Hidden;
WindowManager.mainViewModel.Content = vm; WindowManager.mainViewModel.Content = vm;
WindowManager.openContent.Add(vm); WindowManager.openContent.Add(vm);
} }
@ -63,7 +61,7 @@ public class ConfigMenuPageVM : BaseViewModel
public void CutConfig(object parameter) public void CutConfig(object parameter)
{ {
BaseControlVM vm = new BaseControlVM(new CutConfigVM(), MultilingualHelper.getString("CutConfig")); BaseControlVM vm = new BaseControlVM(new CutConfigVM(), MultilingualHelper.getString("CutConfig"));
vm.ShowFunctionButton = System.Windows.Visibility.Hidden;
WindowManager.mainViewModel.Content = vm; WindowManager.mainViewModel.Content = vm;
WindowManager.openContent.Add(vm); WindowManager.openContent.Add(vm);
} }

@ -38,7 +38,7 @@ namespace SparkClient.ViewModel.Dialog
public void Skip(object parameter) public void Skip(object parameter)
{ {
BaseControlVM vm = new BaseControlVM(new DiamondSelectVM(), MultilingualHelper.getString("DiamondSelect")); BaseControlVM vm = new BaseControlVM(new DiamondSelectVM(), MultilingualHelper.getString("DiamondSelect"));
vm.ShowFunctionButton = System.Windows.Visibility.Hidden;
WindowManager.mainViewModel.Content = vm; WindowManager.mainViewModel.Content = vm;
WindowManager.openContent.Add(vm); WindowManager.openContent.Add(vm);
} }
@ -47,7 +47,7 @@ namespace SparkClient.ViewModel.Dialog
{ {
if (InputText != null && InputText.Trim().Length > 0) { if (InputText != null && InputText.Trim().Length > 0) {
BaseControlVM vm = new BaseControlVM(new DiamondSelectVM(), MultilingualHelper.getString("DiamondSelect")); BaseControlVM vm = new BaseControlVM(new DiamondSelectVM(), MultilingualHelper.getString("DiamondSelect"));
vm.ShowFunctionButton = System.Windows.Visibility.Hidden;
WindowManager.mainViewModel.Content = vm; WindowManager.mainViewModel.Content = vm;
WindowManager.openContent.Add(vm); WindowManager.openContent.Add(vm);
} }

@ -131,7 +131,7 @@ public class DiamondSelectVM : BaseViewModel
public async void StartGrading(object param) public async void StartGrading(object param)
{ {
MessageBox messageBox = new MessageBox(); MessageBox messageBox = new MessageBox();
MessageBoxResult result = messageBox.ShowInput(MultilingualHelper.getString("UpdateDiamondCode"), out string inputStr, MessageBoxResult result = messageBox.ShowInput($"{MultilingualHelper.getString("UpdateDiamondCode")}", out string inputStr,
MultilingualHelper.getString("ok"), MultilingualHelper.getString("ok"),
MultilingualHelper.getString("Skip") MultilingualHelper.getString("Skip")
); );
@ -538,7 +538,7 @@ public class DiamondSelectVM : BaseViewModel
//WindowManager.mainViewModel.Content = WindowManager.PreviousVM(); //WindowManager.mainViewModel.Content = WindowManager.PreviousVM();
BaseControlVM vm = new BaseControlVM(new GradingResultVM(param), MultilingualHelper.getString("DetectionResult")); BaseControlVM vm = new BaseControlVM(new GradingResultVM(param), MultilingualHelper.getString("DetectionResult"));
vm.WindowTitle = string.IsNullOrWhiteSpace(param.DiamondCode) ? vm.WindowTitle : $"{vm.WindowTitle} - {param.DiamondCode}"; vm.WindowTitle = string.IsNullOrWhiteSpace(param.DiamondCode) ? vm.WindowTitle : $"{vm.WindowTitle} - {param.DiamondCode}";
vm.ShowFunctionButton = System.Windows.Visibility.Hidden; vm.ShowFunctionButton = System.Windows.Visibility.Visible;
WindowManager.mainViewModel.Content = vm; WindowManager.mainViewModel.Content = vm;
WindowManager.openContent.Add(vm); WindowManager.openContent.Add(vm);
} }

@ -27,6 +27,14 @@
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
</Style> </Style>
<Style x:Key="InNextHoverImageStyle" TargetType="Image">
<Setter Property="Source" Value="pack://application:,,,/Resource/Images/UIResource/Next.png"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource AncestorType=Border}}" Value="True">
<Setter Property="Source" Value="pack://application:,,,/Resource/Images/UIResource/NextHover.png"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="MiniszieHoverImageStyle" TargetType="Image"> <Style x:Key="MiniszieHoverImageStyle" TargetType="Image">
<!-- 默认图片 --> <!-- 默认图片 -->
<Setter Property="Source" Value="pack://application:,,,/Resource/Images/UIResource/02-2.png"/> <Setter Property="Source" Value="pack://application:,,,/Resource/Images/UIResource/02-2.png"/>
@ -111,7 +119,8 @@
</Grid> </Grid>
</Grid> </Grid>
<Border Grid.Row="1" Margin="10" CornerRadius="15" Background="#c5cbe3"> <Border KeyDown="UIElement_OnKeyDown" Grid.Row="1" Margin="10" CornerRadius="15" Background="#c5cbe3" Focusable="True">
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition>
@ -123,6 +132,7 @@
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<!-- 标题内容 --> <!-- 标题内容 -->
<TextBlock Grid.Column="0" Text="{Binding WindowTitle}" <TextBlock Grid.Column="0" Text="{Binding WindowTitle}"
@ -134,8 +144,17 @@
Margin=" 0 0 10 0" Margin=" 0 0 10 0"
HorizontalAlignment="Right" VerticalAlignment="Center" HorizontalAlignment="Right" VerticalAlignment="Center"
Background="Transparent" Background="Transparent"
Padding="0"
>
<Button Background="Transparent" BorderBrush="Transparent" Padding="0" Visibility="{Binding ShowFunctionButton}" Command="{Binding NextCommand}">
<Image Style="{StaticResource InNextHoverImageStyle}" x:Name="ImageNext" Width="25" Height="45"/>
</Button>
</Border>
<Border Grid.Column="3"
Width="40" Height="40"
Margin=" 0 0 10 0"
HorizontalAlignment="Right" VerticalAlignment="Center"
Background="Transparent"
Padding="0" Padding="0"
> >
<Button Background="Transparent" BorderBrush="Transparent" Padding="0" Command="{Binding CloseCommand}"> <Button Background="Transparent" BorderBrush="Transparent" Padding="0" Command="{Binding CloseCommand}">

@ -17,6 +17,10 @@ public partial class BaseControl
// 动态设置圆角裁剪 // 动态设置圆角裁剪
this.Loaded += (s, e) => ApplyCornerRadiusClip(); this.Loaded += (s, e) => ApplyCornerRadiusClip();
this.SizeChanged += (s, e) => ApplyCornerRadiusClip(); // 保证在大小改变时也裁剪 this.SizeChanged += (s, e) => ApplyCornerRadiusClip(); // 保证在大小改变时也裁剪
FocusManager.SetFocusedElement(this, this);
Keyboard.Focus(this);
} }
private void Border_Minimize_MouseEnter(object sender, MouseEventArgs e) private void Border_Minimize_MouseEnter(object sender, MouseEventArgs e)
@ -87,4 +91,15 @@ public partial class BaseControl
{ {
parentWindow = Window.GetWindow(this); parentWindow = Window.GetWindow(this);
} }
private void UIElement_OnKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Escape)
{
if (DataContext is BaseControlVM vm)
{
vm.CloseVM("");
}
}
}
} }

@ -86,7 +86,7 @@
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<!-- 保存按钮 --> <!-- 保存按钮 -->
<Button Grid.Column="0" Padding="0" Margin="10 0 0 0" Height="50" BorderThickness="0" IsEnabled="{Binding IsEnabled}" <Button Grid.Column="0" Padding="0" Margin="10 0 0 0" Height="50" BorderThickness="0" IsEnabled="{Binding IsEnabled}"
Background="Transparent" FocusVisualStyle="{x:Null}" Command="{Binding SaveFileCommand}"> Background="Transparent" FocusVisualStyle="{x:Null}" Command="{Binding SaveFileCommand}" ForceCursor="True">
<Border <Border
HorizontalAlignment="Center" HorizontalAlignment="Center"
VerticalAlignment="Center" VerticalAlignment="Center"
@ -95,6 +95,7 @@
Width="100" Width="100"
BorderThickness="0" BorderThickness="0"
CornerRadius="20"> CornerRadius="20">
<Border.Background> <Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#38C8BF" Offset="0"/> <GradientStop Color="#38C8BF" Offset="0"/>
@ -160,6 +161,7 @@
<TextBlock FontSize="18" TextAlignment="Center" Foreground="#ffffff" Text="{StaticResource Print}" /> <TextBlock FontSize="18" TextAlignment="Center" Foreground="#ffffff" Text="{StaticResource Print}" />
</Border> </Border>
</Button> </Button>
<!-- 卡片 --> <!-- 卡片 -->
<!-- 标准 --> <!-- 标准 -->
<Border Grid.Column="5" Background="#EBEEF5" Width="170" Height="80" CornerRadius="10" Margin="0 0 10 0"> <Border Grid.Column="5" Background="#EBEEF5" Width="170" Height="80" CornerRadius="10" Margin="0 0 10 0">

@ -1,6 +1,7 @@
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Controls.Primitives; using System.Windows.Controls.Primitives;
using System.Windows.Forms.VisualStyles;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
@ -16,6 +17,7 @@ public partial class GradingResult
// List<Viewport3DTriangleEntity> triangles = new List<Viewport3DTriangleEntity>(); // List<Viewport3DTriangleEntity> triangles = new List<Viewport3DTriangleEntity>();
List<GeometryModel3D> mouseAddModels = new List<GeometryModel3D>(); List<GeometryModel3D> mouseAddModels = new List<GeometryModel3D>();
// 用于记录当前所有已存在的Popup // 用于记录当前所有已存在的Popup
private List<Popup> _allPopups = new List<Popup>(); private List<Popup> _allPopups = new List<Popup>();
public GradingResult() public GradingResult()

Loading…
Cancel
Save