diff --git a/src/Snap.Hutao/Snap.Hutao/Control/Helper/UIElementHelper.cs b/src/Snap.Hutao/Snap.Hutao/Control/Helper/UIElementHelper.cs new file mode 100644 index 00000000..988bfe5d --- /dev/null +++ b/src/Snap.Hutao/Snap.Hutao/Control/Helper/UIElementHelper.cs @@ -0,0 +1,24 @@ +// Copyright (c) DGP Studio. All rights reserved. +// Licensed under the MIT license. + +using Microsoft.UI.Xaml; + +namespace Snap.Hutao.Control.Helper; + +[SuppressMessage("", "SH001")] +[DependencyProperty("VisibilityObject", typeof(object), null, nameof(OnVisibilityObjectChanged), IsAttached = true, AttachedType = typeof(UIElement))] +[DependencyProperty("OpacityObject", typeof(object), null, nameof(OnOpacityObjectChanged), IsAttached = true, AttachedType = typeof(UIElement))] +public sealed partial class UIElementHelper +{ + private static void OnVisibilityObjectChanged(DependencyObject dp, DependencyPropertyChangedEventArgs e) + { + UIElement element = (UIElement)dp; + element.Visibility = e.NewValue is null ? Visibility.Collapsed : Visibility.Visible; + } + + private static void OnOpacityObjectChanged(DependencyObject dp, DependencyPropertyChangedEventArgs e) + { + UIElement element = (UIElement)dp; + element.Opacity = e.NewValue is null ? 0D : 1D; + } +} \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Control/Theme/ItemsPanelTemplate.xaml b/src/Snap.Hutao/Snap.Hutao/Control/Theme/ItemsPanelTemplate.xaml index 11716811..55879c4e 100644 --- a/src/Snap.Hutao/Snap.Hutao/Control/Theme/ItemsPanelTemplate.xaml +++ b/src/Snap.Hutao/Snap.Hutao/Control/Theme/ItemsPanelTemplate.xaml @@ -17,6 +17,9 @@ + + + diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/SpiralAbyssRecordPage.xaml b/src/Snap.Hutao/Snap.Hutao/View/Page/SpiralAbyssRecordPage.xaml index 76ae8f69..6feefaea 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Page/SpiralAbyssRecordPage.xaml +++ b/src/Snap.Hutao/Snap.Hutao/View/Page/SpiralAbyssRecordPage.xaml @@ -10,6 +10,7 @@ xmlns:mxi="using:Microsoft.Xaml.Interactivity" xmlns:shc="using:Snap.Hutao.Control" xmlns:shcb="using:Snap.Hutao.Control.Behavior" + xmlns:shch="using:Snap.Hutao.Control.Helper" xmlns:shci="using:Snap.Hutao.Control.Image" xmlns:shcm="using:Snap.Hutao.Control.Markup" xmlns:shcp="using:Snap.Hutao.Control.Panel" @@ -503,42 +504,42 @@ + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + @@ -692,27 +693,35 @@ - + - + diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/Complex/Team.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/Complex/Team.cs index 37006714..19a7e5bc 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/Complex/Team.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/Complex/Team.cs @@ -5,6 +5,7 @@ using Microsoft.Extensions.Primitives; using Snap.Hutao.Model.Metadata.Avatar; using Snap.Hutao.Model.Primitive; using Snap.Hutao.Web.Hutao.SpiralAbyss; +using System.Diagnostics; using System.Globalization; namespace Snap.Hutao.ViewModel.Complex; @@ -29,6 +30,8 @@ internal sealed class Team : List Add(new(idAvatarMap[id])); } + AddRange(new AvatarView[4 - Count]); + Rate = SH.FormatModelBindingHutaoTeamUpCountFormat(team.Rate); }