Upgrading to Avalon Beta1
Se avete qualche demo scritta con la CTP di marzo e volevo aggiornarla alla Beta1, vi elenco un po' di cosette che son cambiate
- VisualTree è defunto, al suo posto ControlTemplate, leggete il mio mini-articolo per i dettagli
- FrameworkElement.ID è diventato FrameworkElement.Name e di consequenza anche quelle proprietà che puntavano a ID sono state modificate (ad esempio SetterTimeline.TargetID è diventato SetterTimeline.TargetName).
- StyleID è diventato Name
- TransformDecorator addio, al suo posto l'elemento LayoutTransform: <ListBox LayoutTransform="scale 2, rotate 90" >
- Style.Storyboards sono stati affiancati da ControlTemplate.Storyboards, quando utilizzare l'uno piuttosto che l'altro? Semplice, se dovete animare proprietà che fanno parte del visual tree usate ControlTemplate.Storyboard, altrimenti se dovete animare proprietà dell'oggetto sul quale imposterete lo style allora utilizzate il classico Style.Storyboard
- Style.VisualTrigger ciao ciao, benvenuto Style.Triggers. Questa modifica si porta dietro anche il cambio di nomenclatura fra PropertyTrigger con Trigger e il proprio Set che si adegua al Setter degli style, rimangono inalterati EventTrigger. Cito anche la presenza di ControlTemplate.Triggers, utilizzatelo se volete cambiare la formattazione di elementi della composizione del visual tree in modo condizionale
- Sintassi {Bind} diventa {Binding}, e quindi l'omonima classe
- Il metodo GetAnimations di IAnimable ci ha lasciato, al suo posto la collezione PersistentAnimations
- IPropertyChange F2 INotifyPropertyChanged
- System.Windows.Media.Imaging è stato sistemato, trovate le classi per la gestione di bitmap come BitmapSource o BitmapDecoder
- ValueConverterSource è sparito dalla galassia, dobbiamo aggiungere il mapping del namespace che contiene la classe che implementa IValueConverter e utilizzare la nostra classe converter come qualsiasi elementi mappato di xaml
- Se al momento della compilazione msbuild vi saluta con "<UICulture> should be set in the project file in order to support the following markup files that use types defined in this project", aggiungete nel file di progetto l'elemento <UICulture>en-US</UICulture> nella prima sezione <PropertyGroup>
- *Null ora è più carino {x:Null}
- Il metodo Deactivate del ClockController è stato rinominato con Stop (d'accordissimo: Deactivate non era il massimo della chiarezza per un metodo che deve fermare un'animazione). Quindi anche DeactivateAction all'interno di un EventTrigger diventerà StopAction
Mi sembra tutto, se mi sono dimenticato qualcosa aggiornerò questo post