Wie verwalten Sie große und kaum wartbare XAML-Dateien?

7

Ich habe echte Schwierigkeiten mit XAML-Dateien in Silverlight, da sie bei Verwendung von Blend sehr schnell sehr groß werden. Es wird nur eine Textwand, nachdem nur eine Handvoll Steuerelemente hinzugefügt und animiert wurden.

Ich hoffe, dass bald eine bessere Version von Blend herauskommt, so dass unsere Designer XAML nicht einmal sehen müssen. Für den Moment ist das jedoch keine Lösung - XAML muss immer noch manuell verwaltet werden und es ist eine deprimierende Aufgabe.

Hat jemand eine Lösung gefunden? Wie halten Sie Ihre XAML-Dateien in Ordnung? Wie verstehst du sie, wenn sie groß werden?

Bearbeiten : Ich bin besonders an Silverlight-Lösungen interessiert, da die offensichtlichste WPF-Lösung - die Aufteilung in Ressourcenwörterbücher - in Silverlight nicht unterstützt wird.

    
Sander 05.11.2008, 12:30
quelle

3 Antworten

7

Ich verwende Silverlight 2 seit Januar, als es in der privaten Veröffentlichung war, und wir stießen auf dieses Problem, unser XAML war in einer einzigen großen Datei. Was wir als Best Practices getan haben, war die Aufteilung der Benutzeroberfläche in separate Benutzersteuerelemente basierend auf visueller Kategorisierung (Kopfzeile, Fußzeile, Navigationssteuerelemente usw.). Ursprünglich versuchten wir verschachtelte Leinwände zu verwenden (Gitter wurden noch nicht zum Framework hinzugefügt). und das wurde später zu einem Wartungsalbtraum.

In Blend können Sie tatsächlich ein Canvas / Grid etc ... aus dem Fenster Objects and Timeline auswählen, mit der rechten Maustaste darauf klicken und Sie erhalten die Option "Make Control .." Dies ermöglichte ein schnelles Re-Factoring und Modularisieren unserer Haupt-XAML-Datei. Wir haben dann Ereignisse verwendet, um den Benutzersteuerelementen die Kommunikation untereinander zu ermöglichen.

Hoffe, das hilft und viel Glück!

    
FireWire 06.11.2008, 22:55
quelle
11

Es erfordert ein wenig Arbeit, XAML-Dateien zu pflegen, aber im Grunde müssen Sie sie in Ressourcendateien (XAML-Ressourcenwörterbücher) unter Verwendung eines für Sie sinnvollen Schemas aufteilen.

Zum Beispiel verwenden wir ein Schema, in dem wir eine Ordnerstruktur wie folgt haben:

  • Ressourcen (enthält XAML-Dateien, die die Benutzersteuerelemente und Seiten darstellen)

    • Schablonen (XAML-Dateien mit Formen)
    • Stile (XAML-Dateien mit Stilen)
    • Pinsel (...)
      • Freigegeben
    • Vorlagen (...)

Ihre Struktur kann variieren, aber durch die Trennung aller Ressourcen in verschiedenen Dateien wird die Wartung auf lange Sicht einfacher.

    
Pop Catalin 05.11.2008 12:42
quelle
2

Ich bin kreativer Entwickler und arbeite intensiv in Blend.

Ich habe letztes Jahr ein paar Gedanken zu veröffentlicht XAML sauber .

Silverlight unterstützt derzeit keine MergedResourceDictionaries, daher ist es schwierig, den XAML in separate ResourceDictionary-Dateien aufzuteilen, wie ich es in ein anderer Beitrag .

Paul Stovell hat auch einige interessante Richtlinien für XAML .

    
Alan Le 05.11.2008 18:55
quelle