Quando si guardano le proprietà e i comportamenti associati, ho visto un miscuglio di usi di FrameworkPropertyMetadata
, UIPropertyMetadata
e PropertyMetadata
. Dal momento che formano tutti una gerarchia di ereditarietà, come faccio a scegliere quale utilizzare?Quando dovrei usare FrameworkPropertyMetadata o UIPropertyMetadata su PropertyMetadata normale?
69
A
risposta
67
Queste classi devono riportare alcuni aspetti comportamentali di una proprietà di dipendenza.
Controllare le diverse classi per le opzioni che forniscono.
Per esempio,
se si desidera solo eseguire una proprietà da dp e fornire un valore predefinito, utilizzare PropertyMetadata
,
se si desidera specificare il comportamento di animazione, utilizzare UIPropertyMetadata
,
ma se alcune proprietà influiscono sugli oggetti a livello di framework wpf, ad esempio layout degli elementi, layout genitore o databinding, utilizzare FrameworkPropertyMetadata
.
dettagli è possibile controllare su MSDN http://msdn.microsoft.com/en-us/library/ms751554.aspx
La vera domanda è, perché il propdp frammento di utilizzare UIPropertyMetadata, soprattutto perché non ci sono sottoclassi PropertyMetadata in Silverlight? Mi fa impazzire. – Grank
Questo perché gli stessi frammenti di codice sono condivisi tra WPF e Silverlight. Puoi provare diversi snippet per silverlight da questo link: http://blog.nerdplusart.com/archives/silverlight-code-snippets –
+1 La modifica dei frammenti è così semplice. –