From 93250f84cf4526ac2d65803f5dc4bb53b2823f34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=89=E9=B8=AD=E8=9B=8B?= Date: Sat, 7 Sep 2024 12:31:07 +0800 Subject: [PATCH] update UI experience MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在 `App.xaml` 中添加了 `BooleanToEnableTextConverter` 转换器。 在 `ScriptControlPage.xaml` 中: * 更新了文本描述,增加了对配置组排序的说明。 * 添加了一个新的 `TextBlock` 和 `Button`,用于新增配置组。 * 将“启用状态”列从简单的文本显示改为 `ToggleSwitch` 控件,并使用 `BooleanToEnableTextConverter` 进行绑定。 * 将 `ListBox.ContextMenu` 更改为 `ListView.ContextMenu`。 * 为“修改JS脚本自定义配置”菜单项添加了样式和触发器,以根据脚本类型动态显示或隐藏。 在 `ScriptControlViewModel.cs` 中: * 添加了 `System.ComponentModel` 的引用。 * 注释掉了 `WriteScriptGroup` 的循环调用。 * 修改了 `ShowEditWindow` 方法,将关闭按钮文本从“确定”改为“关闭”。 * 在 `EditJsScriptSettings` 方法中,添加了对 `LoadSettingUi` 返回值的检查,并在未提供自定义配置时显示警告。 * 在 `ScriptProjectsCollectionChanged` 方法中,添加了对项目属性变化的事件处理。 * 添加了 `ScriptProjectsPChanged` 方法,用于处理项目属性变化事件。 * 更新了 `OnGoToScriptGroupUrl` 方法中的 URL。 新增了 `BooleanToEnableTextConverter.cs` 文件,实现了 `BooleanToEnableTextConverter` 转换器,用于将布尔值与启用状态文本进行转换。 --- BetterGenshinImpact/App.xaml | 1 + .../BooleanToEnableTextConverter.cs | 22 +++++++++ .../View/Pages/ScriptControlPage.xaml | 35 ++++++++++--- .../ViewModel/Pages/ScriptControlViewModel.cs | 49 ++++++++++++++----- 4 files changed, 87 insertions(+), 20 deletions(-) create mode 100644 BetterGenshinImpact/View/Converters/BooleanToEnableTextConverter.cs diff --git a/BetterGenshinImpact/App.xaml b/BetterGenshinImpact/App.xaml index 96b05cc2..b447b472 100644 --- a/BetterGenshinImpact/App.xaml +++ b/BetterGenshinImpact/App.xaml @@ -16,6 +16,7 @@ /Assets/Fonts/deluge-led.ttf#Deluge LED + diff --git a/BetterGenshinImpact/View/Converters/BooleanToEnableTextConverter.cs b/BetterGenshinImpact/View/Converters/BooleanToEnableTextConverter.cs new file mode 100644 index 00000000..cc959437 --- /dev/null +++ b/BetterGenshinImpact/View/Converters/BooleanToEnableTextConverter.cs @@ -0,0 +1,22 @@ +using System; +using System.Windows; +using System.Windows.Data; + +namespace BetterGenshinImpact.View.Converters; + +/// +/// ScriptGroupProjectExtensions +/// +[ValueConversion(typeof(bool), typeof(Visibility))] +public sealed class BooleanToEnableTextConverter : IValueConverter +{ + public object Convert(object? value, Type targetType, object? parameter, System.Globalization.CultureInfo culture) + { + return value is "Enabled"; + } + + public object ConvertBack(object? value, Type targetType, object? parameter, System.Globalization.CultureInfo culture) + { + return value is false ? "Disabled" : "Enabled"; + } +} diff --git a/BetterGenshinImpact/View/Pages/ScriptControlPage.xaml b/BetterGenshinImpact/View/Pages/ScriptControlPage.xaml index cfcc722a..e45fa0d4 100644 --- a/BetterGenshinImpact/View/Pages/ScriptControlPage.xaml +++ b/BetterGenshinImpact/View/Pages/ScriptControlPage.xaml @@ -100,10 +100,16 @@ - 左侧配置组栏目右键可以新增配置组,然后可以添加并配置软件内的 Javascript 脚本、键鼠脚本等,并能够控制执行次数、顺序等, + 在左侧栏目右键可以新增/修改配置组,拖拽进行配置组排序。配置组内可以添加并配置软件内的 Javascript 脚本、键鼠脚本等,并能够控制执行次数、顺序等, 点击查看调度器使用教程 + + - + + + + + + + - + @@ -238,12 +248,23 @@ Header="修改通用配置" /> + Header="修改JS脚本自定义配置"> + + + + - +