From 52f8042b2d6c720c43d88c4a450fef714f4c74a8 Mon Sep 17 00:00:00 2001 From: Wang Haoyu <1789652311@qq.com> Date: Tue, 21 Jul 2026 10:52:58 +0800 Subject: [PATCH 1/4] Adapt plugin for ClassIsland misha alpha --- .../AdjustScreenBrightnessSettingsControl.cs | 4 ++-- Controls/DisableDeviceSettingsControl.cs | 6 +++--- Controls/EnableDeviceSettingsControl.cs | 6 +++--- Controls/HotkeyRecorderControl.cs | 5 ++--- Controls/KillProcessSettingsControl.cs | 6 +++--- Controls/SetVolumeSettingsControl.cs | 6 +++--- Controls/ShowFloatingWindowSettingsControl.cs | 4 ++-- Controls/ShowToastSettingsControl.cs | 10 +++++----- .../TriggerCustomTriggerSettingsControl.cs | 6 +++--- Controls/TypeContentSettingsControl.cs | 6 +++--- SystemTools.csproj | 18 ++++++++++++------ manifest.yml | 2 +- 12 files changed, 42 insertions(+), 37 deletions(-) diff --git a/Controls/AdjustScreenBrightnessSettingsControl.cs b/Controls/AdjustScreenBrightnessSettingsControl.cs index 84d99376..a52f87e9 100644 --- a/Controls/AdjustScreenBrightnessSettingsControl.cs +++ b/Controls/AdjustScreenBrightnessSettingsControl.cs @@ -53,10 +53,10 @@ protected override void OnInitialized() { base.OnInitialized(); - _brightnessInput[!NumericUpDown.ValueProperty] = new Binding(nameof(Settings.BrightnessPercent)) + _brightnessInput.Bind(NumericUpDown.ValueProperty, new Binding(nameof(Settings.BrightnessPercent)) { Source = Settings, Mode = BindingMode.TwoWay - }; + }); } } \ No newline at end of file diff --git a/Controls/DisableDeviceSettingsControl.cs b/Controls/DisableDeviceSettingsControl.cs index 5cc2a9e8..decc5eca 100644 --- a/Controls/DisableDeviceSettingsControl.cs +++ b/Controls/DisableDeviceSettingsControl.cs @@ -1,4 +1,4 @@ -using Avalonia.Controls; +using Avalonia.Controls; using Avalonia.Data; using ClassIsland.Core.Abstractions.Controls; using SystemTools.Settings; @@ -40,9 +40,9 @@ public DisableDeviceSettingsControl() protected override void OnInitialized() { base.OnInitialized(); - _deviceIdBox[!TextBox.TextProperty] = new Binding(nameof(Settings.DeviceId)) + _deviceIdBox.Bind(TextBox.TextProperty, new Binding(nameof(Settings.DeviceId)) { Source = Settings - }; + }); } } \ No newline at end of file diff --git a/Controls/EnableDeviceSettingsControl.cs b/Controls/EnableDeviceSettingsControl.cs index 39de33d3..f34575db 100644 --- a/Controls/EnableDeviceSettingsControl.cs +++ b/Controls/EnableDeviceSettingsControl.cs @@ -1,4 +1,4 @@ -using Avalonia.Controls; +using Avalonia.Controls; using Avalonia.Data; using ClassIsland.Core.Abstractions.Controls; using SystemTools.Settings; @@ -40,9 +40,9 @@ public EnableDeviceSettingsControl() protected override void OnInitialized() { base.OnInitialized(); - _deviceIdBox[!TextBox.TextProperty] = new Binding(nameof(Settings.DeviceId)) + _deviceIdBox.Bind(TextBox.TextProperty, new Binding(nameof(Settings.DeviceId)) { Source = Settings - }; + }); } } \ No newline at end of file diff --git a/Controls/HotkeyRecorderControl.cs b/Controls/HotkeyRecorderControl.cs index 10a12ca8..acddc247 100644 --- a/Controls/HotkeyRecorderControl.cs +++ b/Controls/HotkeyRecorderControl.cs @@ -1,11 +1,10 @@ -using Avalonia; +using Avalonia; using Avalonia.Controls; using Avalonia.Input; using Avalonia.Media; using Avalonia.Layout; using Avalonia.VisualTree; using System; -using static System.Windows.Forms.VisualStyles.VisualStyleElement.TrayNotify; namespace SystemTools.Controls; @@ -64,7 +63,7 @@ public HotkeyRecorderControl() }; // 绑定文字 - _displayText.Bind(TextBlock.TextProperty, this.GetObservable(HotkeyDisplayProperty).ToBinding()); + _displayText.Bind(TextBlock.TextProperty, this.GetObservable(HotkeyDisplayProperty)); // 设置内容 Child = _displayText; diff --git a/Controls/KillProcessSettingsControl.cs b/Controls/KillProcessSettingsControl.cs index 75e4c45c..8b66e009 100644 --- a/Controls/KillProcessSettingsControl.cs +++ b/Controls/KillProcessSettingsControl.cs @@ -1,4 +1,4 @@ -using Avalonia.Controls; +using Avalonia.Controls; using Avalonia.Layout; using Avalonia.Media; using Avalonia.Platform.Storage; @@ -79,10 +79,10 @@ public KillProcessSettingsControl() protected override void OnInitialized() { base.OnInitialized(); - _processNameBox[!TextBox.TextProperty] = new Avalonia.Data.Binding(nameof(Settings.ProcessName)) + _processNameBox.Bind(TextBox.TextProperty, new Avalonia.Data.Binding(nameof(Settings.ProcessName)) { Source = Settings - }; + }); } private async Task ShowProcessList() diff --git a/Controls/SetVolumeSettingsControl.cs b/Controls/SetVolumeSettingsControl.cs index 6f5cc118..b16493e5 100644 --- a/Controls/SetVolumeSettingsControl.cs +++ b/Controls/SetVolumeSettingsControl.cs @@ -1,4 +1,4 @@ -using Avalonia.Controls; +using Avalonia.Controls; using Avalonia.Data; using ClassIsland.Core.Abstractions.Controls; using SystemTools.Actions; @@ -45,10 +45,10 @@ protected override void OnInitialized() { base.OnInitialized(); - _volumeInput[!NumericUpDown.ValueProperty] = new Binding(nameof(Settings.VolumePercent)) + _volumeInput.Bind(NumericUpDown.ValueProperty, new Binding(nameof(Settings.VolumePercent)) { Source = Settings, Mode = BindingMode.TwoWay - }; + }); } } \ No newline at end of file diff --git a/Controls/ShowFloatingWindowSettingsControl.cs b/Controls/ShowFloatingWindowSettingsControl.cs index d0ccd479..e1088738 100644 --- a/Controls/ShowFloatingWindowSettingsControl.cs +++ b/Controls/ShowFloatingWindowSettingsControl.cs @@ -28,10 +28,10 @@ protected override void OnInitialized() { base.OnInitialized(); - _toggleSwitch[!ToggleSwitch.IsCheckedProperty] = new Binding(nameof(Settings.ShowFloatingWindow)) + _toggleSwitch.Bind(ToggleSwitch.IsCheckedProperty, new Binding(nameof(Settings.ShowFloatingWindow)) { Source = Settings, Mode = BindingMode.TwoWay - }; + }); } } diff --git a/Controls/ShowToastSettingsControl.cs b/Controls/ShowToastSettingsControl.cs index edddb354..66ca2aa6 100644 --- a/Controls/ShowToastSettingsControl.cs +++ b/Controls/ShowToastSettingsControl.cs @@ -1,4 +1,4 @@ -using Avalonia.Controls; +using Avalonia.Controls; using Avalonia.Data; using ClassIsland.Core.Abstractions.Controls; using SystemTools.Settings; @@ -50,16 +50,16 @@ protected override void OnInitialized() { base.OnInitialized(); - _titleBox[!TextBox.TextProperty] = new Binding(nameof(Settings.Title)) + _titleBox.Bind(TextBox.TextProperty, new Binding(nameof(Settings.Title)) { Source = Settings, Mode = BindingMode.TwoWay - }; + }); - _contentBox[!TextBox.TextProperty] = new Binding(nameof(Settings.Content)) + _contentBox.Bind(TextBox.TextProperty, new Binding(nameof(Settings.Content)) { Source = Settings, Mode = BindingMode.TwoWay - }; + }); } } \ No newline at end of file diff --git a/Controls/TriggerCustomTriggerSettingsControl.cs b/Controls/TriggerCustomTriggerSettingsControl.cs index 9ac1a759..14222dc7 100644 --- a/Controls/TriggerCustomTriggerSettingsControl.cs +++ b/Controls/TriggerCustomTriggerSettingsControl.cs @@ -1,4 +1,4 @@ -using Avalonia.Controls; +using Avalonia.Controls; using Avalonia.Data; using ClassIsland.Core.Abstractions.Controls; using SystemTools.Settings; @@ -47,9 +47,9 @@ public TriggerCustomTriggerSettingsControl() protected override void OnInitialized() { base.OnInitialized(); - _triggerIdTextBox[!TextBox.TextProperty] = new Binding(nameof(Settings.TriggerId)) + _triggerIdTextBox.Bind(TextBox.TextProperty, new Binding(nameof(Settings.TriggerId)) { Source = Settings - }; + }); } } \ No newline at end of file diff --git a/Controls/TypeContentSettingsControl.cs b/Controls/TypeContentSettingsControl.cs index 9bc25b98..b594a262 100644 --- a/Controls/TypeContentSettingsControl.cs +++ b/Controls/TypeContentSettingsControl.cs @@ -1,4 +1,4 @@ -using Avalonia.Controls; +using Avalonia.Controls; using Avalonia.Data; using ClassIsland.Core.Abstractions.Controls; using SystemTools.Settings; @@ -33,9 +33,9 @@ public TypeContentSettingsControl() protected override void OnInitialized() { base.OnInitialized(); - _textBox[!TextBox.TextProperty] = new Binding(nameof(Settings.Content)) + _textBox.Bind(TextBox.TextProperty, new Binding(nameof(Settings.Content)) { Source = Settings - }; + }); } } \ No newline at end of file diff --git a/SystemTools.csproj b/SystemTools.csproj index 8aa69256..63eac7f2 100644 --- a/SystemTools.csproj +++ b/SystemTools.csproj @@ -1,9 +1,11 @@ - + - net8.0-windows10.0.17763.0 + net10.0-windows10.0.19041.0 enable latest true + true + true x64 @@ -11,10 +13,14 @@ - - + + runtime; native + + + runtime; native + - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -22,7 +28,7 @@ - + diff --git a/manifest.yml b/manifest.yml index a33345b2..f6647cbf 100644 --- a/manifest.yml +++ b/manifest.yml @@ -9,7 +9,7 @@ description: 提供多彩而丰富的更多 组件/行动/触发器/实用工具 entranceAssembly: "SystemTools.dll" url: https://github.com/Programmer-MrWang/SystemTools version: 2.5.1.101 -apiVersion: 2.0.0.0 +apiVersion: 2.2 author: Programmer-MrWang readme: README.md icon: icon.png From b495275d7b316cd0937d450c72e0b4ec61e7461c Mon Sep 17 00:00:00 2001 From: Wang Haoyu <1789652311@qq.com> Date: Tue, 21 Jul 2026 11:13:05 +0800 Subject: [PATCH 2/4] Fix Avalonia 12 FluentAvalonia API changes --- Actions/AdvancedShutdownAction.cs | 2 +- ...tterCarouselContainerSettingsControl.axaml | 62 ++++++------ .../ClipboardContentComponent.axaml.cs | 3 +- .../LocalQuoteSettingsControl.axaml | 54 +++++------ .../LyricsDisplaySettingsControl.axaml | 41 ++++---- .../LyricsDisplaySettingsControl.axaml.cs | 18 ++-- .../NetworkStatusSettingsControl.axaml | 30 +++--- .../NextClassDisplaySettingsControl.axaml | 28 +++--- .../ScrollingTextSettingsControl.axaml | 34 +++---- Controls/ShowFloatingWindowSettingsControl.cs | 7 +- Services/FloatingWindowService.cs | 2 +- Settings/FloatingWindowTriggerSettings.cs | 6 +- SettingsPage/AboutSettingsPage.axaml | 19 ++-- SettingsPage/AboutSettingsPage.axaml.cs | 18 ++-- .../FloatingWindowEditorSettingsPage.axaml | 97 ++++++++++--------- .../FloatingWindowEditorSettingsPage.axaml.cs | 26 ++--- .../MoreFeaturesOptionsSettingsPage.axaml | 33 ++++--- .../MoreFeaturesOptionsSettingsPage.axaml.cs | 5 +- SettingsPage/SystemToolsSettingsPage.axaml | 81 ++++++++-------- SettingsPage/SystemToolsSettingsPage.axaml.cs | 32 +++--- SystemTools.csproj | 1 + 21 files changed, 304 insertions(+), 295 deletions(-) diff --git a/Actions/AdvancedShutdownAction.cs b/Actions/AdvancedShutdownAction.cs index bf7699fc..1d6c3a6f 100644 --- a/Actions/AdvancedShutdownAction.cs +++ b/Actions/AdvancedShutdownAction.cs @@ -454,7 +454,7 @@ private void ShowOrUpdateFloatingWindow() CanResize = false, Topmost = true, ShowInTaskbar = false, - SystemDecorations = SystemDecorations.None, + WindowDecorations = WindowDecorations.None, Background = Brushes.Transparent, TransparencyLevelHint = [WindowTransparencyLevel.Transparent], Content = new Border diff --git a/Controls/Components/BetterCarouselContainerSettingsControl.axaml b/Controls/Components/BetterCarouselContainerSettingsControl.axaml index d709b3c5..0c5e4b3b 100644 --- a/Controls/Components/BetterCarouselContainerSettingsControl.axaml +++ b/Controls/Components/BetterCarouselContainerSettingsControl.axaml @@ -1,4 +1,4 @@ - - - + @@ -34,21 +34,21 @@ - - + + - - - - - + + + - + @@ -58,16 +58,16 @@ - - - + + + - - + - + - - + + - - - - - + + + + - - - - - + + + + - @@ -134,7 +134,7 @@ - +