Sto lavorando senza miscela di espressioni e utilizzo solo l'editor XAML in vs2010. A parte questo, vedo sempre più la necessità di un data binding in fase di progettazione. Per casi semplici, la FallbackValue
proprietà funziona molto bene (caselle di testo e blocchi di testo, ecc.). Ma soprattutto quando si ha a che fare con ItemsControl
e simili, è davvero necessario che i dati di esempio siano visibili nel designer in modo da poter regolare e modificare i controlli e i modelli di dati senza dover eseguire l'eseguibile.
So che ObjectDataProvider
consente l'associazione a un tipo e quindi può fornire dati in fase di progettazione per la visualizzazione, ma poi c'è un po 'di giocoleria per consentire ai dati di runtime reali di legarsi senza sprecare risorse caricando sia il tempo di progettazione, dati fittizi e binding di runtime.
In realtà quello che voglio è la possibilità di avere, ad esempio, "John", "Paul", "George" e "Ringo" vengono visualizzati nel designer XAML come elementi personalizzabili nel mio ItemsControl
, ma i dati reali vengono visualizzati quando l'applicazione corre.
So anche che Blend consente alcuni attributi fantasiosi che definiscono i dati di associazione della fase di progettazione che vengono effettivamente ignorati da WPF in condizioni di runtime.
Quindi le mie domande sono:
1. Come posso sfruttare i collegamenti in fase di progettazione di raccolte e dati non banali nella finestra di progettazione XAML dello studio visivo e quindi passare facilmente ai collegamenti di runtime?
2. In che modo gli altri hanno risolto il problema dei dati in fase di progettazione rispetto a quelli di runtime? Nel mio caso, non posso usare molto facilmente gli stessi dati per entrambi (come si sarebbe in grado di fare, ad esempio, con una query di database).
3. Esistono alternative alla miscela di espressioni che potrei utilizzare per la progettazione XAML integrata nei dati? (So che ci sono alcune alternative, ma voglio specificamente qualcosa che posso usare e vedere dati di esempio associati, ecc.)
d:DataContext
potreste trovare qualche aiuto in questa domanda: stackoverflow.com/questions/8303803/...