From df22d30a964289da75f9c41e6991a6a55dd698ea Mon Sep 17 00:00:00 2001 From: Lightczx <1686188646@qq.com> Date: Mon, 30 Oct 2023 15:12:30 +0800 Subject: [PATCH] ui/ux --- .../Control/Behavior/SelectedItemInViewBehavior.cs | 3 ++- .../Snap.Hutao/Core/Windowing/WindowController.cs | 5 ++++- src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj | 6 +++--- .../View/Control/AnnouncementContentViewer.xaml.cs | 1 + src/Snap.Hutao/Snap.Hutao/View/Control/WebViewer.xaml.cs | 1 + src/Snap.Hutao/Snap.Hutao/View/Page/AnnouncementPage.xaml | 4 ++-- 6 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/Snap.Hutao/Snap.Hutao/Control/Behavior/SelectedItemInViewBehavior.cs b/src/Snap.Hutao/Snap.Hutao/Control/Behavior/SelectedItemInViewBehavior.cs index 89d8034d..3f4aa764 100644 --- a/src/Snap.Hutao/Snap.Hutao/Control/Behavior/SelectedItemInViewBehavior.cs +++ b/src/Snap.Hutao/Snap.Hutao/Control/Behavior/SelectedItemInViewBehavior.cs @@ -1,6 +1,7 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using CommunityToolkit.WinUI; using CommunityToolkit.WinUI.Behaviors; using Microsoft.UI.Xaml.Controls; @@ -12,7 +13,7 @@ internal sealed class SelectedItemInViewBehavior : BehaviorBase { if (AssociatedObject.SelectedItem is { } item) { - AssociatedObject.ScrollIntoView(item); + AssociatedObject.SmoothScrollIntoViewWithItemAsync(item, ScrollItemPlacement.Center).SafeForget(); } return true; diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/WindowController.cs b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/WindowController.cs index 946fc5bc..2e54c6f2 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/WindowController.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/WindowController.cs @@ -39,9 +39,12 @@ internal sealed class WindowController private static void TransformToCenterScreen(ref RectInt32 rect) { - DisplayArea displayArea = DisplayArea.GetFromRect(rect, DisplayAreaFallback.Primary); + DisplayArea displayArea = DisplayArea.GetFromRect(rect, DisplayAreaFallback.Nearest); RectInt32 workAreaRect = displayArea.WorkArea; + rect.Width = Math.Min(workAreaRect.Width, rect.Width); + rect.Height = Math.Min(workAreaRect.Height, rect.Height); + rect.X = workAreaRect.X + ((workAreaRect.Width - rect.Width) / 2); rect.Y = workAreaRect.Y + ((workAreaRect.Height - rect.Height) / 2); } diff --git a/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj b/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj index 785799a3..7782e62a 100644 --- a/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj +++ b/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj @@ -259,7 +259,7 @@ - + @@ -268,8 +268,8 @@ - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Snap.Hutao/Snap.Hutao/View/Control/AnnouncementContentViewer.xaml.cs b/src/Snap.Hutao/Snap.Hutao/View/Control/AnnouncementContentViewer.xaml.cs index 0da882d0..0e0f498f 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Control/AnnouncementContentViewer.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/View/Control/AnnouncementContentViewer.xaml.cs @@ -51,6 +51,7 @@ internal sealed partial class AnnouncementContentViewer : UserControl /// public AnnouncementContentViewer() { + Environment.SetEnvironmentVariable("WEBVIEW2_DEFAULT_BACKGROUND_COLOR", "00000000"); InitializeComponent(); loadEventHandler = OnLoaded; diff --git a/src/Snap.Hutao/Snap.Hutao/View/Control/WebViewer.xaml.cs b/src/Snap.Hutao/Snap.Hutao/View/Control/WebViewer.xaml.cs index 3029486b..89fe0168 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Control/WebViewer.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/View/Control/WebViewer.xaml.cs @@ -27,6 +27,7 @@ internal partial class WebViewer : UserControl, IRecipient public WebViewer() { + Environment.SetEnvironmentVariable("WEBVIEW2_DEFAULT_BACKGROUND_COLOR", "00000000"); InitializeComponent(); serviceProvider = Ioc.Default; infoBarService = serviceProvider.GetRequiredService(); diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/AnnouncementPage.xaml b/src/Snap.Hutao/Snap.Hutao/View/Page/AnnouncementPage.xaml index 3e0354dc..b5f3f6f3 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Page/AnnouncementPage.xaml +++ b/src/Snap.Hutao/Snap.Hutao/View/Page/AnnouncementPage.xaml @@ -51,9 +51,9 @@ - + - +