Laden...

Maui: Collection View auf Start-Scroll-Position setzen

Erstellt von CoderboyPB vor einem Jahr Letzter Beitrag vor einem Jahr 567 Views
C
CoderboyPB Themenstarter:in
327 Beiträge seit 2008
vor einem Jahr
Maui: Collection View auf Start-Scroll-Position setzen

Hallo:

grid1 ist der Name von meiner Collection View, in meiner Code Behind habe ich:


protected override void OnAppearing()
    {
        base.OnAppearing();
        grid1.ScrollTo(19);
    }

    private void button_Clicked(object sender, EventArgs e)
    {
        grid1.ScrollTo(19);
    }

Die Funktion mit dem Button funktioniert, aber egal, was ich auch versuche, ich bekomme es nicht hin dass die CollectionView beim Start direkt ans Ende (bzw. generell) gescrollt wird.
Wo muss dieser Aufruf hin, Constructor hatte auch nicht funktioniert.

Nochmal zusammengefasst: Ich möchte, dass was der Button macht automatisch bei Start ausgeführt haben.

16.783 Beiträge seit 2008
vor einem Jahr

Wo muss dieser Aufruf hin, Constructor hatte auch nicht funktioniert.

Kann auch nicht, weil natürlich hier noch nichts existiert.

Sowas muss immer erst passieren, wenn die UI auch existiert.

In Xamarin zB muss man einen Command absetzen, sobald die Collection aktualisiert wurde.
xamarin-collectionview-scroll-to-bottom-at-initialization

OnAppearing in MAUIs Lifecycle sagt aus, dass die Page aufgebaut wird, aber nicht beendet ist.
Das ist also zu früh. Ebenfalls wird dieser Event mehrfach aufgerufen, zB bei re-activated Events etc.

IIRC hat MAUI aber keinen Cross-Plattform Ebent wenn eine View vollständig da ist.
IIRC muss man auf die Elemente gehen.

Wahrscheinlich wirst Du einen Plattform Event brauchen
.NET MAUI-Shell-Lebenszyklus - .NET MAUI

C
CoderboyPB Themenstarter:in
327 Beiträge seit 2008
vor einem Jahr

So geht es:


grid1.Loaded += Grid1_Loaded;

private void Grid1_Loaded(object sender, EventArgs e)
    {
        grid1.ScrollTo(19);
    }

Danke, du hast mich auf den richtigen Weg geführt 🙂