循环播放

This commit is contained in:
tanglong 2025-09-23 10:18:28 +08:00
parent be337abd61
commit 47e10d2323

View File

@ -32,8 +32,16 @@ namespace Wpf_AiSportsMicrospace.MyUserControl
get => _selectedIndex; get => _selectedIndex;
set set
{ {
if (value < 0 || value >= Images.Count) return; if (Images.Count == 0) return;
_selectedIndex = value;
// 循环处理
if (value < 0)
_selectedIndex = Images.Count - 1;
else if (value >= Images.Count)
_selectedIndex = 0;
else
_selectedIndex = value;
UpdateLayoutWithAnimation(); UpdateLayoutWithAnimation();
} }
} }
@ -87,14 +95,16 @@ namespace Wpf_AiSportsMicrospace.MyUserControl
targetScale = centerScale; targetScale = centerScale;
targetOpacity = 1.0; targetOpacity = 1.0;
} }
else if (i == SelectedIndex - 1) else if (i == SelectedIndex - 1 || (SelectedIndex == 0 && i == Images.Count - 1))
{ {
// 左边图片,循环处理
targetX = centerX - spacing - 75; targetX = centerX - spacing - 75;
targetScale = sideScale; targetScale = sideScale;
targetOpacity = 1.0; targetOpacity = 1.0;
} }
else if (i == SelectedIndex + 1) else if (i == SelectedIndex + 1 || (SelectedIndex == Images.Count - 1 && i == 0))
{ {
// 右边图片,循环处理
targetX = centerX + spacing - 75; targetX = centerX + spacing - 75;
targetScale = sideScale; targetScale = sideScale;
targetOpacity = 1.0; targetOpacity = 1.0;