fix banner view

This commit is contained in:
kwan.nguyen 2025-01-26 18:31:32 +07:00
parent 87ec7eaf58
commit 3c72ef2e5a
2 changed files with 16 additions and 7 deletions

View File

@ -101,7 +101,11 @@
<ColumnDefinition Width="0.2*" />
<ColumnDefinition Width="0.8*" />
</Grid.ColumnDefinitions>
<WebView x:Name="BannerView" Grid.Row="0" Grid.ColumnSpan="2"/>
<WebView x:Name="BannerView" Grid.Row="0" Grid.ColumnSpan="2"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.HorizontalScrollMode="Disabled"
ScrollViewer.IsHorizontalRailEnabled="False"
ScrollViewer.IsHorizontalScrollChainingEnabled="False"/>
<Frame x:Name="ContentFrame" Grid.Row="1" Grid.ColumnSpan="2" Navigated="ContentFrame_Navigated"/>
<Grid
Grid.Row="0"

View File

@ -12,6 +12,7 @@ using PCUT.Entities.ApiResponse;
using System.Collections.Generic;
using System.Text;
using Windows.Storage;
using System.Linq;
namespace PCUT.ViewModels
{
@ -108,15 +109,19 @@ namespace PCUT.ViewModels
{
var apiResponse = await response.DeserializeObjectAsync<PaginationResponse<IEnumerable<Banner>>>();
var banners = apiResponse.Data;
var bannersCount = banners.Count();
var contentBuilder = new StringBuilder();
contentBuilder.Append(
@"<!DOCTYPE html><html>
<head><style>
.marquee-container {display: flex;overflow: hidden;white-space: nowrap;animation: marquee 30s linear infinite;}
.marquee-text {width: 100%}
@keyframes marquee {0% {transform: translateX(100%);} 100% {transform: translateX(-100%);}}
$@"<!DOCTYPE html><html>
<head>
<meta charset=""UTF-8"">
<style>
::-webkit-scrollbar {{background: transparent;}}
.marquee-container {{display: flex;overflow: visible;white-space: nowrap;animation: marquee {bannersCount*20}s linear infinite;}}
.marquee-text {{width: 100%;margin-right: 10%;font-family: Arial, sans-serif;}}
@keyframes marquee {{0% {{transform: translateX(100%);}} 100% {{transform: translateX(-{bannersCount*110}%);}}}}
</style></head>
<body><div class=""marquee-container"">");
<body style=""-ms-overflow-style: none;scrollbar-width: none;""><div class=""marquee-container"">");
foreach (var banner in banners)
{
contentBuilder.Append(@"<div class=""marquee-text"">").Append(banner.Content).Append("</div>");