Skip to content

Commit 9d374bb

Browse files
committed
Made ScrollView automatically scroll to last move
1 parent c308d11 commit 9d374bb

1 file changed

Lines changed: 16 additions & 6 deletions

File tree

src/Codebreaker.MAUI/Views/Pages/GamePage.xaml.cs

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace Codebreaker.MAUI.Views.Pages;
44

5-
public partial class GamePage : ContentPage
5+
public partial class GamePage : ContentPage, IRecipient<GameMoveMessage>, IRecipient<InfoMessage>
66
{
77
private readonly INavigationService _navigationService;
88

@@ -11,13 +11,23 @@ public GamePage(GamePageViewModel viewModel, INavigationService navigationServic
1111
_navigationService = navigationService;
1212
BindingContext = viewModel;
1313
InitializeComponent();
14-
15-
WeakReferenceMessenger.Default.Register<InfoMessage>(this, async (r, m) =>
16-
{
17-
await DisplayAlert("Info", m.Text, "Close");
18-
});
14+
WeakReferenceMessenger.Default.RegisterAll(this);
1915
}
2016

17+
public async void Receive(GameMoveMessage message)
18+
{
19+
if (message.GameMoveValue is not GameMoveValue.Completed)
20+
return;
21+
22+
await Task.Delay(300);
23+
await pegScrollView.ScrollToAsync(0, pegScrollView.ContentSize.Height, true);
24+
}
25+
26+
public async void Receive(InfoMessage message)
27+
{
28+
await DisplayAlert("Info", message.Text, "Close");
29+
}
30+
2131
private async void Button_Clicked(object sender, EventArgs e)
2232
{
2333
await _navigationService.NavigateToAsync("TestPage");

0 commit comments

Comments
 (0)