Konvertieren Sie PivotItem in Usercontrol, um die Ladeleistung in WP7 zu verbessern

Meine MainPage.xaml ist eine Pivot-Seite mit 3 PivotItems. Derzeit werden alle erforderlichen Elemente für jedes PivotItems im MainPage-Konstruktor geladen. Das ist schlecht, weil es eine Menge Dinge lädt, die nicht notwendig sind.

lesenHier undHier schlägt vor, dass ich nur das erste PivotItem lade und nach dem Laden den Rest der Elemente lade. Speziell:

Verbessern Sie die Leistung der Pivot-Anwendung, indem Sie Pivot-Steuerungsinhalte nach Bedarf laden, anstatt alles beim Start zu laden. Eine Lösung besteht darin, den Inhalt aus jedem PivotItem-Steuerelement zu übernehmen und in UserControls zu konvertieren. Anschließend können Sie das LoadingPivotItem-Ereignis im Root-Pivot-Steuerelement abonnieren. Als Nächstes instanziieren Sie im Ereignishandler das richtige UserControl und legen es als PivotItem-Inhalt fest.

Wenn ich dem Vorschlag folge:

<code>private void OnLoadingPivotItem(object sender, PivotItemEventArgs e)
{
if (e.Item.Content != null)
{
    // Content loaded already
    return;
}

Pivot pivot = (Pivot)sender;

if (e.Item == pivot.Items[0])
{
    e.Item.Content = new Page1Control();
}
else if (e.Item == pivot.Items[1])
{
    e.Item.Content = new Page2Control();
}
else if (e.Item == pivot.Items[2])
{
    e.Item.Content = new Page3Control();
}
}
</code>

Ich sollte die Klasse PageXControl erstellen verwenden? Sollte es irgendwie von der Hauptseitenklasse erben?

Wie nehme ich den Inhalt von jedem PivotItem-Steuerelement und konvertiere in UserControls?

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage