Frage

Neu an der Windows-Telefonentwicklung-Arena zu sein ... Ich genieße es, mit dem Windows Phone enorm zu arbeiten ... Es gab jedoch eine Lernkurve und so viel, um es kennenzulernen.

mit dem gesagt, was ich zu tun habe, ist, eine Seite zu erstellen, die dynamisch an eine Datenstruktur gebunden ist, die n Anzahl der Pivot-Seiten anzeigt, und jede Pivot-Seite hat unterschiedliche XAML, um den Inhalt anzuzeigen.

Ich habe über diesen Code-Projekt-Artikel ( http://www.codeproject.com/articles/113152/applying-data-templates-dynamical-by-type-in-wp7 ) und es verwendet ein Listenfeld, um das Display zu steuern. Was ich interessiere, ist das Gleiche, aber mit einer Pivot-Seite.

Ich lerne am besten in Beispiel ... Hier sind die Klassen, um die Daten an die Steuerelemente zu verbinden, die ich verwenden möchte ...

generasacodicetagpre.

Ich weiß nicht, ob es besser ist, den gesamten Code hier zu veröffentlichen ... oder nur, um Sie alle den Artikel zum Code-Projekt anzusehen, werde ich den Code, den ich aus dem Artikel geändert habe, in den Artikel veröffentlichen. . In der Hoffnung, dass mir jemand helfen kann, das herauszufinden:

xaml:

generasacodicetagpre.

Hier ist die Datatemplateselektorklasse

generasacodicetagpre.

Hier ist die dynamische Inhaltskontrolle: Öffentliche Klasse DynamicContentControl: ContentControl { Geschützte Überschreibung Leere OncontentContentAnd (Objekt Oldcontent, Objekt Newcontent) { base.oncontentchanged (oldcontent, newcontent); That.contentTemplate= msator.model.dataTemplateselektor.gettemplate (newcontent als viewmodelbase); }
}

Hier ist die erste Ansicht XAML:

generasacodicetagpre.

(Die zweite Ansicht XAML kann die erste Ansicht sein, ändern Sie einfach die Farbe)

Hier ist die FirstViewModel-Klasse (aus dem Artikel)

generasacodicetagpre.

Hier ist die SelectableView-Modellklasse

generasacodicetagpre.

Hier ist die Hauptansicht-Modellklasse:

generasacodicetagpre.

Nochmals vielen Dank, um zu helfen!

War es hilfreich?

Lösung

Wie Sie sagen, dass Sie immer noch lernen, lassen Sie mich erklären, warum n Anzahl der Pivot-Gegenstände eine schlechte Idee ist:

    .
  1. Sie werden wahrscheinlich aufgrund der Inhalte auf einer einzelnen Seite auf Leistungsfragen führen. Mit einer Liste können die Elemente virtualisiert werden. Die Schwenksteuerung unterstützt nicht die Virtualisierung dynamisch hinzugefügter Pivotitems.

  2. Es ist schwer, dass Menschen zu einem gewünschten Gegenstand navigieren, wenn es viele Pivotitems gibt, da es keinen Weg gibt, um schnell zu den Wünschen zu kommen. Sagen Sie, Sie hatten 30 Artikel im Drehpunkt, wollten aber den 15. Platz erreichen. Das würde viel Wackeln erfordern, und wenn es schnell geht, wäre es leicht, an dem gewünschten vorbeizugehen.

  3. Die Pivot-Steuerung soll für einen von zwei Zwecken verwendet werden:

      .
    1. , um unterschiedliche Ansichten eines Datensatzes anzuzeigen. d. H. Die E-Mail-App zeigt in jedem Pivotitem unterschiedliche Ansichten eines Mailbox an, filtert für "All", "ungelesen", "markiert" und "dringend".

    2. , um verschiedene Stücke verwandter Daten anzuzeigen. d. H. Beim Betrachten eines individuellen Kontakts / Person sehen Sie unterschiedliche verwandte Maßnahmen und Informationen, die in die verschiedenen Pivotitems gruppiert sind: "Profile", "Was ist neu", "Fotos" und "Geschichte".

    3. Es ist nicht die Absicht, dass die Schwenksteuerung als Container für große Inhaltsmengen verwendet werden sollte, z. B. n Sammlungen von Vorlagenlisten.
      Es wird empfohlen, dass die maximale Anzahl von Gegenständen in einem Drehpunkt 7 sein sollte, um Probleme mit Leistung und Benutzerfreundlichkeit zu vermeiden.

      Alles in allem, das nicht mit der Pivot-Steuerung in einer der beabsichtigten Wege verwendet wurde, kann es für Sie als Entwickler- und Benutzerfreundlichkeitsfragen für die Personen mit der App führen.
      Beide sind Szenarien, um zu vermeiden.

      Es tut uns leid, dass dies keine direkte Antwort auf Ihre Frage ist, aber hoffentlich hilft es Ihnen, eine bessere App (oder Apps) zu entwickeln. ;)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top