4 pagine in totale: <<Indietro 1 2 [3] 4 Avanti >>
Dove differiscono le Dependency Properties dalle Properties normali?
Dovrebbe essere già abbastanza chiaro che le Dependency Properties hanno delle funzionalità in più rispetto alle proprietà normali.
Per prima cosa, queste possono essere utilizzate con delle ActivityBind in modo tale da poter ottenere il loro valore durante l'esecuzione del workflow ed effettuare il bind di tale valore sulle proprietà delle activity presenti nel flusso. In questo modo non dobbiamo preoccuparci di scrivere il codice per l'inizializzazione delle variabili, per la loro valorizzazione o per la loro sincronizzazione.
Inoltre, queste possono contenere dei metadati, cioè delle informazioni aggiuntive, cosa che le proprietà standard non consentono.
Le Depedency Properties nello sviluppo di un'activity custom
Il fulcro di tutto è rappresentato dalla classe DependencyProperty, di cui va inserito un membro statico per ogni proprietà che si vuole rendere disponibile per il bind di informazioni, all'interno della classe che rappresenta la nostra attività personalizzata.
public partial class SendMail : SequenceActivity
{
// metadata properties
public static readonly DependencyProperty FromProperty;
// properties for activitybind
public static DependencyProperty ToProperty;
public static DependencyProperty SubjectProperty;
public static DependencyProperty BodyProperty;
// attached properties
public static readonly DependencyProperty MailServerProperty;
...
}Queste proprietà di dipendenza, vanno poi collegate all'activity che le contiene, specificando a quale proprietà sono collegate, il loro tipo di ritorno, e il tipo dell'activity padre, che nel nostro caso sarà l'activity SendMail.
Questa operazione va eseguita all'interno di un costruttore statico dell'activity personalizzata chiamando il metodo Register, proprio della classe DependencyProperty, metodo che non fa altro che creare nuove istanze della classe stessa, sprovvista di un costruttore di default pubblico.
static SendMail()
{
SendMail.FromProperty = DependencyProperty.Register("From", typeof(string), typeof(SendMail), new PropertyMetadata("info@peppedotnet.it", DependencyPropertyOptions.Metadata));
SendMail.ToProperty = DependencyProperty.Register("To", typeof(string), typeof(SendMail));
SendMail.SubjectProperty = DependencyProperty.Register("Subject", typeof(string), typeof(SendMail));
SendMail.BodyProperty = DependencyProperty.Register("Body", typeof(string), typeof(SendMail));
SendMail.MailServerProperty = DependencyProperty.RegisterAttached("MailServer", typeof(string), typeof(SendMail), new PropertyMetadata("localhost"));
}4 pagine in totale: <<Indietro 1 2 [3] 4 Avanti >>
Attenzione: Questo articolo contiene un allegato
Contenuti dell'articolo
- Introduzione a .NET Micro Framework
- Gestire transazioni miste con NTFS in Windows Server 2008
- Windows Presentation Foundation 3.5: 3D interattivo e le altre novità del framework
- Le novità di Communication e Workflow Foundation e la loro cooperazione nel .NET Framework 3.5
- .NET Framework 3.5 e Visual Studio 2008: cosa c'è di nuovo
- Gestione delle eccezioni in Windows Communication Foundation
- Sviluppare workflow sequenziali con WF
- WPF: dal DataBinding ai Template - Terza parte
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.






Difficoltà
Contenuti
Stampa
Download


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!
