using System.Windows; using System.Windows.Input; using log4net; using SparkClient.Model.Helper; using SparkClient.Model.Services; using SparkClient.ViewModel.Configuration; using SparkClient.ViewModel.Grading; using MessageBox = SparkClient.Views.Dialog.MessageBox; namespace SparkClient.ViewModel.BaseWindow; public class HomeWindowVM : BaseViewModel { private static readonly ILog Logger = LogManager.GetLogger(typeof(HomeWindowVM)); private SOCClientService _socClientService; public ICommand ShowHelperPageCommand { get; } public ICommand ShowConfigPageCommand { get; } public ICommand ShowDiamondSelPageCommand { get; } public HomeWindowVM() { ShowHelperPageCommand = new RelayCommand(ShowHelperPage); ShowConfigPageCommand = new RelayCommand(ShowConfigPage); ShowDiamondSelPageCommand = new RelayCommand(ShowDiamlondSelPage); } public void ShowHelperPage(object parameter) { BaseControlVM vm = new BaseControlVM(new HelperPageVM(), MultilingualHelper.getString("Help")); WindowManager.mainViewModel.Content = vm; WindowManager.openContent.Add(vm); } public void ShowConfigPage(object parameter) { ConfigMenuPageVM vm = new ConfigMenuPageVM(); WindowManager.mainViewModel.Content = vm; WindowManager.openContent.Add(vm); } public async void ShowDiamlondSelPage(object parameter) { try { // string savePath = @"..\..\..\Resource\SOCImages"; // string result = await _socClientService.ProcessImageCollectionAsync(100, savePath); // // ShowMessage(result); // // if (result == "成功") // { // BaseControlVM vm = new BaseControlVM(new GradingResultVM(null), MultilingualHelper.getString("DetectionResult")); // WindowManager.mainViewModel.Content = vm; // WindowManager.openContent.Add(vm); // } //BaseControlVM vm = new BaseControlVM(new GradingResultVM(null), MultilingualHelper.getString("DetectionResult")); //WindowManager.mainViewModel.Content = vm; //WindowManager.openContent.Add(vm); //MessageBox messageBox = new MessageBox(); //MessageBoxResult result = messageBox.ShowInput(MultilingualHelper.getString("UpdateDiamondCode"),out string inputStr, // MultilingualHelper.getString("ok"), // MultilingualHelper.getString("Skip") // ); //if (result != MessageBoxResult.None) //{ BaseControlVM vm = new BaseControlVM(new DiamondSelectVM(), MultilingualHelper.getString("DiamondSelect")); vm.ShowFunctionButton = System.Windows.Visibility.Hidden; WindowManager.mainViewModel.Content = vm; WindowManager.openContent.Add(vm); //} } catch (Exception e) { // 记录日志 LogError(e); ShowMessage("Error: " + e.Message); } } private void ShowMessage(string message) { MessageBox messageBox = new MessageBox(); messageBox.Show(message); } private void LogError(Exception e) { // 实现日志记录逻辑,例如写入文件或数据库 // Console.WriteLine($"Error: {e.Message}\n{e.StackTrace}"); Logger.Error($"Error: {e.Message}\n{e.StackTrace}"); } }