Browse Source

首页banner优化

master
彭真涛 3 weeks ago
parent
commit
d70282e059
  1. 12
      AIK.Views/MenuPages/Home/HomePage.xaml
  2. 16
      ViewModels/HomePage/HomePageViewModel.cs

12
AIK.Views/MenuPages/Home/HomePage.xaml

@ -68,18 +68,22 @@
<!-- 左箭头 -->
<Button Command="{Binding PreviousCommand}"
Visibility="{Binding IsFirst, Converter={StaticResource BoolToVisibilityConverter}}"
Visibility="{Binding IsFirst, Converter={StaticResource BoolToVisibilityConverter}, ConverterParameter=inverse}"
Style="{StaticResource NavButtonStyle}"
HorizontalAlignment="Left" Margin="30,0,0,0">
<TextBlock Text="&#xE76B;" FontFamily="Segoe MDL2 Assets" FontSize="24" Foreground="#2B579A"/>
<Path Data="M15,3 L7,12 L15,21" Stroke="#2B579A" StrokeThickness="2.5"
Fill="Transparent" Width="22" Height="24" Stretch="Uniform"
StrokeLineJoin="Round" StrokeStartLineCap="Round" StrokeEndLineCap="Round"/>
</Button>
<!-- 右箭头 -->
<Button Command="{Binding NextCommand}"
Visibility="{Binding IsLast, Converter={StaticResource BoolToVisibilityConverter}}"
Visibility="{Binding IsLast, Converter={StaticResource BoolToVisibilityConverter}, ConverterParameter=inverse}"
Style="{StaticResource NavButtonStyle}"
HorizontalAlignment="Right" Margin="0,0,30,0">
<TextBlock Text="&#xE76C;" FontFamily="Segoe MDL2 Assets" FontSize="24" Foreground="#2B579A"/>
<Path Data="M9,3 L17,12 L9,21" Stroke="#2B579A" StrokeThickness="2.5"
Fill="Transparent" Width="22" Height="24" Stretch="Uniform"
StrokeLineJoin="Round" StrokeStartLineCap="Round" StrokeEndLineCap="Round"/>
</Button>
<!-- 指示器圆点 -->

16
ViewModels/HomePage/HomePageViewModel.cs

@ -143,6 +143,10 @@ namespace AIK.ViewModels.HomePage
Debug.WriteLine($"Loaded: {(loaded - start).TotalMilliseconds}ms");
}
}
if (Banners.Count > 0 && CurrentIndexPublic < 0)
{
CurrentIndexPublic = 0;
}
}
catch (Exception ex)
{
@ -159,10 +163,18 @@ namespace AIK.ViewModels.HomePage
}
[RelayCommand]
private void Previous() => CurrentIndexPublic = (CurrentIndexPublic - 1 + Banners.Count) % Banners.Count;
private void Previous()
{
if (Banners.Count == 0) return;
CurrentIndexPublic = (CurrentIndexPublic - 1 + Banners.Count) % Banners.Count;
}
[RelayCommand]
private void Next() => CurrentIndexPublic = (CurrentIndexPublic + 1) % Banners.Count;
private void Next()
{
if (Banners.Count == 0) return;
CurrentIndexPublic = (CurrentIndexPublic + 1) % Banners.Count;
}
[RelayCommand]
private void SelectBanner(int index) => CurrentIndexPublic = index;

Loading…
Cancel
Save