diff --git a/src/Snap.Hutao/Snap.Hutao/Control/Behavior/AutoHeightBehavior.cs b/src/Snap.Hutao/Snap.Hutao/Control/Behavior/AutoHeightBehavior.cs
index 5ed39429..a5bc4497 100644
--- a/src/Snap.Hutao/Snap.Hutao/Control/Behavior/AutoHeightBehavior.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Control/Behavior/AutoHeightBehavior.cs
@@ -22,17 +22,18 @@ internal sealed partial class AutoHeightBehavior : BehaviorBase
- protected override void OnAssociatedObjectLoaded()
+ protected override bool Initialize()
{
UpdateElement();
AssociatedObject.SizeChanged += sizeChangedEventHandler;
+ return true;
}
///
- protected override void OnDetaching()
+ protected override bool Uninitialize()
{
AssociatedObject.SizeChanged -= sizeChangedEventHandler;
- base.OnDetaching();
+ return true;
}
private void OnSizeChanged(object sender, SizeChangedEventArgs e)
diff --git a/src/Snap.Hutao/Snap.Hutao/Control/Behavior/AutoWidthBehavior.cs b/src/Snap.Hutao/Snap.Hutao/Control/Behavior/AutoWidthBehavior.cs
index fa65c4b5..1767b354 100644
--- a/src/Snap.Hutao/Snap.Hutao/Control/Behavior/AutoWidthBehavior.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Control/Behavior/AutoWidthBehavior.cs
@@ -22,17 +22,19 @@ internal sealed partial class AutoWidthBehavior : BehaviorBase
}
///
- protected override void OnAssociatedObjectLoaded()
+ protected override bool Initialize()
{
UpdateElement();
AssociatedObject.SizeChanged += sizeChangedEventHandler;
+ return true;
}
///
- protected override void OnDetaching()
+ protected override bool Uninitialize()
{
AssociatedObject.SizeChanged -= sizeChangedEventHandler;
base.OnDetaching();
+ return true;
}
private void OnSizeChanged(object sender, SizeChangedEventArgs e)
diff --git a/src/Snap.Hutao/Snap.Hutao/Control/Behavior/ComboBoxExtendsContentIntoTitleBarWorkaroundBehavior.cs b/src/Snap.Hutao/Snap.Hutao/Control/Behavior/ComboBoxExtendsContentIntoTitleBarWorkaroundBehavior.cs
index 57b1ee6c..2f940eb7 100644
--- a/src/Snap.Hutao/Snap.Hutao/Control/Behavior/ComboBoxExtendsContentIntoTitleBarWorkaroundBehavior.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Control/Behavior/ComboBoxExtendsContentIntoTitleBarWorkaroundBehavior.cs
@@ -28,19 +28,19 @@ internal sealed class ComboBoxExtendsContentIntoTitleBarWorkaroundBehavior : Beh
}
///
- protected override void OnAssociatedObjectLoaded()
+ protected override bool Initialize()
{
AssociatedObject.DropDownOpened += dropDownOpenedHandler;
AssociatedObject.DropDownClosed += dropDownClosedHandler;
+ return true;
}
///
- protected override void OnDetaching()
+ protected override bool Uninitialize()
{
AssociatedObject.DropDownOpened -= dropDownOpenedHandler;
AssociatedObject.DropDownClosed -= dropDownClosedHandler;
-
- base.OnDetaching();
+ return true;
}
private void OnDropDownOpened(object? sender, object e)
diff --git a/src/Snap.Hutao/Snap.Hutao/Control/Behavior/SelectedItemInViewBehavior.cs b/src/Snap.Hutao/Snap.Hutao/Control/Behavior/SelectedItemInViewBehavior.cs
new file mode 100644
index 00000000..74df6403
--- /dev/null
+++ b/src/Snap.Hutao/Snap.Hutao/Control/Behavior/SelectedItemInViewBehavior.cs
@@ -0,0 +1,22 @@
+// Copyright (c) DGP Studio. All rights reserved.
+// Licensed under the MIT license.
+
+using CommunityToolkit.WinUI.Behaviors;
+using Microsoft.UI.Xaml;
+using Microsoft.UI.Xaml.Controls;
+using Microsoft.UI.Xaml.Controls.Primitives;
+
+namespace Snap.Hutao.Control.Behavior;
+
+internal sealed class SelectedItemInViewBehavior : BehaviorBase
+{
+ protected override bool Initialize()
+ {
+ if (AssociatedObject.SelectedItem is { } item)
+ {
+ AssociatedObject.ScrollIntoView(item);
+ }
+
+ return true;
+ }
+}
\ No newline at end of file
diff --git a/src/Snap.Hutao/Snap.Hutao/Extension/EnumerableExtension.cs b/src/Snap.Hutao/Snap.Hutao/Extension/EnumerableExtension.cs
index e18b653b..c4976887 100644
--- a/src/Snap.Hutao/Snap.Hutao/Extension/EnumerableExtension.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Extension/EnumerableExtension.cs
@@ -94,18 +94,4 @@ internal static partial class EnumerableExtension
string result = string.Join(separator, collection);
return result.Length > 0 ? result : string.Empty;
}
-
- ///
- /// Concatenates each element from the collection into single string.
- ///
- /// Type of array elements.
- /// Collection to convert. Cannot be .
- /// Delimiter between elements in the final string.
- /// A string to be returned if collection has no elements.
- /// Converted collection into string.
- public static string ToString(this IEnumerable collection, char separator, string defaultValue)
- {
- string result = string.Join(separator, collection);
- return result.Length > 0 ? result : defaultValue;
- }
}
\ No newline at end of file
diff --git a/src/Snap.Hutao/Snap.Hutao/Service/AnnouncementService.cs b/src/Snap.Hutao/Snap.Hutao/Service/AnnouncementService.cs
index f8e2c30a..154894e5 100644
--- a/src/Snap.Hutao/Snap.Hutao/Service/AnnouncementService.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Service/AnnouncementService.cs
@@ -109,7 +109,6 @@ internal sealed partial class AnnouncementService : IAnnouncementService
{
if (AnnouncementRegex.PermanentActivityTimeRegex.Match(announcement.Content) is { Success: true } permanent)
{
-
announcement.StartTime = versionUpdateTime;
continue;
}
diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/WikiMonsterPage.xaml b/src/Snap.Hutao/Snap.Hutao/View/Page/WikiMonsterPage.xaml
index bc5989d3..3b0eaaa7 100644
--- a/src/Snap.Hutao/Snap.Hutao/View/Page/WikiMonsterPage.xaml
+++ b/src/Snap.Hutao/Snap.Hutao/View/Page/WikiMonsterPage.xaml
@@ -68,15 +68,9 @@
ItemsSource="{Binding Monsters}"
SelectedItem="{Binding Selected, Mode=TwoWay}"
SelectionMode="Single">
-
-
-
-
-
-
-
-
-
+
+
+
@@ -188,6 +182,9 @@
ItemsSource="{Binding Monsters}"
SelectedItem="{Binding Selected, Mode=TwoWay}"
SelectionMode="Single">
+
+
+