From 67ca4a00db052d69864dfff56088d53a9066a7d9 Mon Sep 17 00:00:00 2001 From: wherewhere Date: Fri, 30 Aug 2024 18:16:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20JSON=20=E5=BA=8F=E5=88=97?= =?UTF-8?q?=E5=8C=96=E6=8E=92=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SettingsCard.ThemeResources.xaml | 45 ++++++++++--------- CoreAppUWP/Helpers/SettingsHelper.cs | 11 +++-- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/CoreAppUWP/Controls/SettingsCard/SettingsCard.ThemeResources.xaml b/CoreAppUWP/Controls/SettingsCard/SettingsCard.ThemeResources.xaml index 65011c4..1d5e083 100644 --- a/CoreAppUWP/Controls/SettingsCard/SettingsCard.ThemeResources.xaml +++ b/CoreAppUWP/Controls/SettingsCard/SettingsCard.ThemeResources.xaml @@ -1,6 +1,7 @@ + SelectionCheckMarkVisualEnabled="{ThemeResource ListViewItemSelectionCheckMarkVisualEnabled}" /> diff --git a/CoreAppUWP/Helpers/SettingsHelper.cs b/CoreAppUWP/Helpers/SettingsHelper.cs index e23c2fc..e0dc609 100644 --- a/CoreAppUWP/Helpers/SettingsHelper.cs +++ b/CoreAppUWP/Helpers/SettingsHelper.cs @@ -4,8 +4,8 @@ using System.IO; using System.Text.Json; using System.Text.Json.Serialization; +using System.Text.Json.Serialization.Metadata; using Windows.Storage; -using Windows.UI.ViewManagement; using Windows.UI.Xaml; namespace CoreAppUWP.Helpers @@ -64,11 +64,10 @@ public static T Deserialize(string value) { if (string.IsNullOrEmpty(value)) { return default; } Type type = typeof(T); - return type == typeof(bool) && JsonSerializer.Deserialize(value, SourceGenerationContext.Default.Boolean) is T @bool - ? @bool - : type == typeof(ElementTheme) && JsonSerializer.Deserialize(value, SourceGenerationContext.Default.ElementTheme) is T ElementTheme - ? ElementTheme - : default; + return type == typeof(bool) ? Deserialize(value, SourceGenerationContext.Default.Boolean) + : type == typeof(ElementTheme) ? Deserialize(value, SourceGenerationContext.Default.ElementTheme) + : default; + static T Deserialize(string json, JsonTypeInfo jsonTypeInfo) => JsonSerializer.Deserialize(json, jsonTypeInfo) is T value ? value : default; } }