optimization

This commit is contained in:
DismissedLight
2024-07-07 22:22:26 +08:00
parent bfefbc58fa
commit f5dbabc586
2 changed files with 147 additions and 129 deletions

View File

@@ -589,7 +589,6 @@
<cwcont:Case Value="Grid">
<GridView
Margin="16,16,4,-4"
cwa:ItemsReorderAnimation.Duration="0:0:0.1"
ItemContainerStyle="{StaticResource LargeGridViewItemStyle}"
ItemTemplate="{StaticResource AvatarGridViewTemplate}"
ItemsSource="{Binding Summary.Avatars}"

View File

@@ -8,6 +8,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:mxi="using:Microsoft.Xaml.Interactivity"
xmlns:mxic="using:Microsoft.Xaml.Interactions.Core"
xmlns:shuxb="using:Snap.Hutao.UI.Xaml.Behavior"
xmlns:shuxba="using:Snap.Hutao.UI.Xaml.Behavior.Action"
xmlns:shuxc="using:Snap.Hutao.UI.Xaml.Control"
xmlns:shuxvww="using:Snap.Hutao.UI.Xaml.View.Window.WebView2"
@@ -15,146 +16,164 @@
d:DataContext="{d:DesignInstance shv:TestViewModel}"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
mc:Ignorable="d">
<ScrollViewer>
<StackPanel Margin="16" Spacing="{StaticResource SettingsCardSpacing}">
<cwc:SettingsCard Header="Adopt Calculator" IsClickEnabled="True">
<mxi:Interaction.Behaviors>
<mxic:EventTriggerBehavior EventName="Click">
<shuxba:ShowWebView2WindowAction>
<shuxba:ShowWebView2WindowAction.ContentProvider>
<shuxvww:MiHoYoJSBridgeWebView2ContentProvider>
<shuxvww:MiHoYoJSBridgeWebView2ContentProvider.SourceProvider>
<shuxvww:StaticJSBridgeUriSourceProvider ChineseSource="http://webstatic.mihoyo.com/ys/event/e20200923adopt_calculator/index.html?bbs_presentation_style=fullscreen&amp;bbs_auth_required=true&amp;utm_source=bbs&amp;utm_medium=mys&amp;utm_campaign=GameRecord"/>
</shuxvww:MiHoYoJSBridgeWebView2ContentProvider.SourceProvider>
</shuxvww:MiHoYoJSBridgeWebView2ContentProvider>
</shuxba:ShowWebView2WindowAction.ContentProvider>
</shuxba:ShowWebView2WindowAction>
</mxic:EventTriggerBehavior>
</mxi:Interaction.Behaviors>
</cwc:SettingsCard>
<cwc:SettingsCard Header="Community Game Record" IsClickEnabled="True">
<mxi:Interaction.Behaviors>
<mxic:EventTriggerBehavior EventName="Click">
<shuxba:ShowWebView2WindowAction>
<shuxba:ShowWebView2WindowAction.ContentProvider>
<shuxvww:MiHoYoJSBridgeWebView2ContentProvider>
<shuxvww:MiHoYoJSBridgeWebView2ContentProvider.SourceProvider>
<shuxvww:StaticJSBridgeUriSourceProvider ChineseSource="https://webstatic.mihoyo.com/app/community-game-records/index.html"/>
</shuxvww:MiHoYoJSBridgeWebView2ContentProvider.SourceProvider>
</shuxvww:MiHoYoJSBridgeWebView2ContentProvider>
</shuxba:ShowWebView2WindowAction.ContentProvider>
</shuxba:ShowWebView2WindowAction>
</mxic:EventTriggerBehavior>
</mxi:Interaction.Behaviors>
</cwc:SettingsCard>
<mxi:Interaction.Behaviors>
<shuxb:InvokeCommandOnLoadedBehavior Command="{Binding LoadCommand}"/>
</mxi:Interaction.Behaviors>
<cwc:SettingsCard Header="SignIn Reward" IsClickEnabled="True">
<mxi:Interaction.Behaviors>
<mxic:EventTriggerBehavior EventName="Click">
<shuxba:ShowWebView2WindowAction>
<shuxba:ShowWebView2WindowAction.ContentProvider>
<shuxvww:MiHoYoJSBridgeWebView2ContentProvider>
<shuxvww:MiHoYoJSBridgeWebView2ContentProvider.SourceProvider>
<shuxvww:StaticJSBridgeUriSourceProvider ChineseSource="https://act.mihoyo.com/bbs/event/signin/hk4e/index.html?act_id=e202311201442471"/>
</shuxvww:MiHoYoJSBridgeWebView2ContentProvider.SourceProvider>
</shuxvww:MiHoYoJSBridgeWebView2ContentProvider>
</shuxba:ShowWebView2WindowAction.ContentProvider>
</shuxba:ShowWebView2WindowAction>
</mxic:EventTriggerBehavior>
</mxi:Interaction.Behaviors>
</cwc:SettingsCard>
<Border Margin="16" Style="{ThemeResource AcrylicBorderCardStyle}">
<ScrollViewer>
<StackPanel Margin="16" Spacing="{StaticResource SettingsCardSpacing}">
<TextBlock
Margin="1,0,0,5"
Style="{ThemeResource SettingsSectionHeaderTextBlockStyle}"
Text="WebView"/>
<cwc:SettingsCard Header="Adopt Calculator" IsClickEnabled="True">
<mxi:Interaction.Behaviors>
<mxic:EventTriggerBehavior EventName="Click">
<shuxba:ShowWebView2WindowAction>
<shuxba:ShowWebView2WindowAction.ContentProvider>
<shuxvww:MiHoYoJSBridgeWebView2ContentProvider>
<shuxvww:MiHoYoJSBridgeWebView2ContentProvider.SourceProvider>
<shuxvww:StaticJSBridgeUriSourceProvider ChineseSource="http://webstatic.mihoyo.com/ys/event/e20200923adopt_calculator/index.html?bbs_presentation_style=fullscreen&amp;bbs_auth_required=true&amp;utm_source=bbs&amp;utm_medium=mys&amp;utm_campaign=GameRecord"/>
</shuxvww:MiHoYoJSBridgeWebView2ContentProvider.SourceProvider>
</shuxvww:MiHoYoJSBridgeWebView2ContentProvider>
</shuxba:ShowWebView2WindowAction.ContentProvider>
</shuxba:ShowWebView2WindowAction>
</mxic:EventTriggerBehavior>
</mxi:Interaction.Behaviors>
</cwc:SettingsCard>
<cwc:SettingsCard Header="Reset Guide State">
<Button
Command="{Binding ResetGuideStateCommand}"
Content="Reset (No restart)"
Style="{ThemeResource SettingButtonStyle}"/>
</cwc:SettingsCard>
<cwc:SettingsCard Header="Community Game Record" IsClickEnabled="True">
<mxi:Interaction.Behaviors>
<mxic:EventTriggerBehavior EventName="Click">
<shuxba:ShowWebView2WindowAction>
<shuxba:ShowWebView2WindowAction.ContentProvider>
<shuxvww:MiHoYoJSBridgeWebView2ContentProvider>
<shuxvww:MiHoYoJSBridgeWebView2ContentProvider.SourceProvider>
<shuxvww:StaticJSBridgeUriSourceProvider ChineseSource="https://webstatic.mihoyo.com/app/community-game-records/index.html"/>
</shuxvww:MiHoYoJSBridgeWebView2ContentProvider.SourceProvider>
</shuxvww:MiHoYoJSBridgeWebView2ContentProvider>
</shuxba:ShowWebView2WindowAction.ContentProvider>
</shuxba:ShowWebView2WindowAction>
</mxic:EventTriggerBehavior>
</mxi:Interaction.Behaviors>
</cwc:SettingsCard>
<cwc:SettingsCard Header="Resize MainWindow">
<Button
Command="{Binding ResetMainWindowSizeCommand}"
Content="Reset"
Style="{ThemeResource SettingButtonStyle}"/>
</cwc:SettingsCard>
<cwc:SettingsCard Header="SignIn Reward" IsClickEnabled="True">
<mxi:Interaction.Behaviors>
<mxic:EventTriggerBehavior EventName="Click">
<shuxba:ShowWebView2WindowAction>
<shuxba:ShowWebView2WindowAction.ContentProvider>
<shuxvww:MiHoYoJSBridgeWebView2ContentProvider>
<shuxvww:MiHoYoJSBridgeWebView2ContentProvider.SourceProvider>
<shuxvww:StaticJSBridgeUriSourceProvider ChineseSource="https://act.mihoyo.com/bbs/event/signin/hk4e/index.html?act_id=e202311201442471"/>
</shuxvww:MiHoYoJSBridgeWebView2ContentProvider.SourceProvider>
</shuxvww:MiHoYoJSBridgeWebView2ContentProvider>
</shuxba:ShowWebView2WindowAction.ContentProvider>
</shuxba:ShowWebView2WindowAction>
</mxic:EventTriggerBehavior>
</mxi:Interaction.Behaviors>
</cwc:SettingsCard>
<cwc:SettingsCard Header="[Debug Only] Print ImageCache Failed Download Tasks">
<Button
Command="{Binding DebugPrintImageCacheFailedDownloadTasksCommand}"
Content="Log"
Style="{ThemeResource SettingButtonStyle}"/>
</cwc:SettingsCard>
<TextBlock Style="{ThemeResource SettingsSectionHeaderTextBlockStyle}" Text="State"/>
<cwc:SettingsCard Header="Reset Guide State">
<Button
Command="{Binding ResetGuideStateCommand}"
Content="Reset (No restart)"
Style="{ThemeResource SettingButtonStyle}"/>
</cwc:SettingsCard>
<cwc:SettingsCard Header="Suppress Metadata Initialization">
<ToggleSwitch IsOn="{Binding SuppressMetadataInitialization, Mode=TwoWay}"/>
</cwc:SettingsCard>
<cwc:SettingsCard Header="Resize MainWindow">
<Button
Command="{Binding ResetMainWindowSizeCommand}"
Content="Reset"
Style="{ThemeResource SettingButtonStyle}"/>
</cwc:SettingsCard>
<cwc:SettingsCard Header="Override Elevation Requirement">
<ToggleSwitch IsOn="{Binding OverrideElevationRequirement, Mode=TwoWay}"/>
</cwc:SettingsCard>
<TextBlock Style="{ThemeResource SettingsSectionHeaderTextBlockStyle}" Text="Debug Information"/>
<cwc:SettingsCard Header="[Debug Only] Print ImageCache Failed Download Tasks">
<Button
Command="{Binding DebugPrintImageCacheFailedDownloadTasksCommand}"
Content="Log"
Style="{ThemeResource SettingButtonStyle}"/>
</cwc:SettingsCard>
<cwc:SettingsCard Header="Override Update Version Comparison">
<ToggleSwitch IsOn="{Binding OverrideUpdateVersionComparison, Mode=TwoWay}"/>
</cwc:SettingsCard>
<TextBlock Style="{ThemeResource SettingsSectionHeaderTextBlockStyle}" Text="Condition Override"/>
<cwc:SettingsCard Header="Suppress Metadata Initialization">
<ToggleSwitch IsOn="{Binding SuppressMetadataInitialization, Mode=TwoWay}"/>
</cwc:SettingsCard>
<cwc:SettingsCard Header="Override Package Convert Directory Permission Requirement">
<ToggleSwitch IsOn="{Binding OverridePackageConvertDirectoryPermissionsRequirement, Mode=TwoWay}"/>
</cwc:SettingsCard>
<cwc:SettingsCard Header="Override Elevation Requirement">
<ToggleSwitch IsOn="{Binding OverrideElevationRequirement, Mode=TwoWay}"/>
</cwc:SettingsCard>
<cwc:SettingsCard
Command="{Binding CompensationGachaLogServiceTimeCommand}"
Header="Compensation GachaLog Service Time For 15 Days"
IsClickEnabled="True"/>
<cwc:SettingsCard Header="Override Update Version Comparison">
<ToggleSwitch IsOn="{Binding OverrideUpdateVersionComparison, Mode=TwoWay}"/>
</cwc:SettingsCard>
<cwc:SettingsCard
Command="{Binding ScreenCaptureCommand}"
Header="Screen Capture Test"
IsClickEnabled="True"/>
<cwc:SettingsCard Header="Override Package Convert Directory Permission Requirement">
<ToggleSwitch IsOn="{Binding OverridePackageConvertDirectoryPermissionsRequirement, Mode=TwoWay}"/>
</cwc:SettingsCard>
<cwc:SettingsCard
Command="{Binding FileOperationRenameCommand}"
Header="Rename Desktop TestFolder"
IsClickEnabled="True"/>
<TextBlock Style="{ThemeResource SettingsSectionHeaderTextBlockStyle}" Text="Gacha Service"/>
<cwc:SettingsCard
Command="{Binding CompensationGachaLogServiceTimeCommand}"
Header="Compensation GachaLog Service Time For 15 Days"
IsClickEnabled="True"/>
<cwc:SettingsCard Header="Crash">
<StackPanel Orientation="Horizontal">
<Button Command="{Binding ExceptionCommand}" Content="Activate"/>
</StackPanel>
</cwc:SettingsCard>
<TextBlock Style="{ThemeResource SettingsSectionHeaderTextBlockStyle}" Text="Testing"/>
<cwc:SettingsCard
Command="{Binding ScreenCaptureCommand}"
Header="Screen Capture Test"
IsClickEnabled="True"/>
<cwc:SettingsCard
Command="{Binding FileOperationRenameCommand}"
Header="Rename Desktop TestFolder"
IsClickEnabled="True"/>
<cwc:SettingsCard Header="Crash">
<StackPanel Orientation="Horizontal">
<Button Command="{Binding ExceptionCommand}" Content="Activate"/>
</StackPanel>
</cwc:SettingsCard>
<TextBlock Style="{ThemeResource SettingsSectionHeaderTextBlockStyle}" Text="Announcement"/>
<Expander
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
Header="Upload Announcement"
IsExpanded="True">
<StackPanel Spacing="8">
<TextBox
Header="Title"
PlaceholderText="Please input title"
Text="{Binding Announcement.Title, Mode=TwoWay}"/>
<TextBox
Header="Link"
PlaceholderText="Please input link"
Text="{Binding Announcement.Link, Mode=TwoWay}"/>
<TextBox
Header="Version Threshold"
PlaceholderText="Max present version(leave empty to present in all version)"
Text="{Binding Announcement.MaxPresentVersion, Mode=TwoWay}"/>
<TextBox
AcceptsReturn="True"
Header="Content"
PlaceholderText="Please input content"
Text="{Binding Announcement.Content, Mode=TwoWay}"/>
<shuxc:SizeRestrictedContentControl>
<ComboBox
Header="Severity"
ItemsSource="{cwh:EnumValues Type=InfoBarSeverity}"
SelectedItem="{Binding Announcement.Severity, Mode=TwoWay}"/>
</shuxc:SizeRestrictedContentControl>
<Button Command="{Binding UploadAnnouncementCommand}" Content="Upload"/>
</StackPanel>
</Expander>
</StackPanel>
</ScrollViewer>
</Border>
<Expander
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
Header="Upload Announcement"
IsExpanded="True">
<StackPanel Spacing="8">
<TextBox
Header="Title"
PlaceholderText="Please input title"
Text="{Binding Announcement.Title, Mode=TwoWay}"/>
<TextBox
Header="Link"
PlaceholderText="Please input link"
Text="{Binding Announcement.Link, Mode=TwoWay}"/>
<TextBox
Header="Version Threshold"
PlaceholderText="Max present version(leave empty to present in any version)"
Text="{Binding Announcement.MaxPresentVersion, Mode=TwoWay}"/>
<TextBox
AcceptsReturn="True"
Header="Content"
PlaceholderText="Please input content"
Text="{Binding Announcement.Content, Mode=TwoWay}"/>
<shuxc:SizeRestrictedContentControl>
<ComboBox
Header="Severity"
ItemsSource="{cwh:EnumValues Type=InfoBarSeverity}"
SelectedItem="{Binding Announcement.Severity, Mode=TwoWay}"/>
</shuxc:SizeRestrictedContentControl>
<Button Command="{Binding UploadAnnouncementCommand}" Content="Upload"/>
</StackPanel>
</Expander>
</StackPanel>
</ScrollViewer>
</shuxc:ScopedPage>