WPF più viste dinamiche e DataAnnotations

2

Confronto tra WPF e Asp.Net Razor / HtmlHelper Trovo che WPF / Xaml non sia in grado di creare viste.

Con HtmlHelpers è possibile definire in un unico punto come non si vuole rappresentare un tipo specifico di dati e includere gli elementi impostati da DataAnnotations della proprietà.

In WPF puoi anche definire DataTemplates per i dati ma sembra molto più limitato di EditorTemplates. Non usa le informazioni da DataAnnotations.

Anche il layout degli elementi può essere fastidioso. Odio dover costantemente aggiungere RowDefinitions e aggiornare l'attributo Grid.Row di molti elementi quando aggiungo una nuova proprietà da qualche parte in linea.

Capisco che la programmazione della GUI possa essere un sacco di lavoro simile a questo, ma come ASP.Net MVC ha dimostrato che ci sono modi per aggirarlo.

Quali soluzioni sono disponibili per rendere la creazione di viste in WPF un po 'più pulite, manutenibili e più dinamiche?

    
posta Ingó Vals 08.02.2012 - 17:18
fonte

1 risposta

1

Alcuni pensieri casuali del progetto di dimensioni decenti su cui ho lavorato in WPF:

MVVM (cf. link ) aiuta. Non fa tutto il lavoro per te, ma ti avvicina un po 'alla sensazione di essere in MVC. Se correttamente implementato, applica una separazione delle preoccupazioni che rende tutto molto più gestibile.

Quando lavori con WPF, è meglio usare definizioni di riga / colonna esplicite per le tue griglie. Tutto il tempo. Sì, è un sacco di lavoro, ma quando lo fai, WPF finisce per funzionare nel modo in cui era realmente inteso (il visual designer, IMHO, non dovrebbe esistere o dovrebbe essere nascosto - crea solo un pozzo nero nello XAML ). Le tue visualizzazioni verranno ridimensionate dinamicamente e saranno molto più robuste.

WPF è il più vicino possibile alla scrittura di app Web mentre si stanno ancora scrivendo applicazioni desktop (ovviamente, Microsoft è pronta a cambiare tutto ...). Per tutte le sue verruche, è un modo molto più dichiarativo e gestibile di scrivere app GUI piuttosto che dirette win32 o chiamate Win32.

    
risposta data 05.11.2012 - 15:56
fonte

Leggi altre domande sui tag