Я делаю автоматический c CarouselView (слайдер), чтобы скользить между изображениями каждые x секунд. Я знаю, что есть много примеров, но ни один из них не помог мне заставить меня работать. Итак, вот сделка:
Это моя страница xaml:
<CarouselView x:Name="carou_slideshow" Grid.Row="1" IsVisible="False">
<CarouselView.ItemTemplate>
<DataTemplate>
<Image Source="{Binding}"/>
</DataTemplate>
</CarouselView.ItemTemplate>
</CarouselView>
Всякий раз, когда пользователь нажимает кнопку, чтобы начать слайд-шоу, он показывает мою карусель со своими изображениями без каких-либо проблем, но текущее изображение не меняется через x секунд. Вот как я это сделал:
private void btn_slideShow_Clicked(object sender, EventArgs e)
{
stk_header.IsVisible = false;
stk_options.IsVisible = false;
grid_images.IsVisible = false;
carou_slideshow.IsVisible = true;
carou_slideshow.ItemsSource = sources;
Device.StartTimer(TimeSpan.FromSeconds(5), (Func<bool>)(() =>
{
carou_slideshow.Position = (carou_slideshow.Position + 1) % sources.Count;
return true;
})
);
}
Есть идеи почему?
РЕДАКТИРОВАТЬ: я понял, что в моем проекте у меня уже был таймер в том же классе. После удаления и сохранения метода в кнопке мое приложение вылетает без ошибок.
EDIT2: Кто-то дал мне решение по этому посту и удалил его после. Я попробовал это, и это не работает для меня .. Как я был уверен, что это будет, я попытался увеличить что-то еще, и таймер работает отлично, но изображение не смахивает. Кроме того, он может случайно закрыть приложение, а также без каких-либо проблем.