WPF attached properties + extension methods

di Cristian Civera, in WPF,

Lo so che vi sono mancato, è un po' che non scrivo, ma sono ancora vivo. Ovviamente sto seguendo i prossimi .NET Framework 3.5, SilverLight e continuo a lavorare con WPF.

A proposito delle novità di C# 3.0 e VB 9.0, mi è venuto in mente questo weekend che durante MVP Summit di Seattle, parlando con Raff, ci era venuta in mente l'idea di utilizzare gli extension methods in WPF. Lo scopo è quello di avere un aiuto sia dal punto di vista dell'ambiente che del linguaggio di programmazione, per utilizzare le attached properties. Sono quelle proprietà "esterne" che si impostano con i metodi Set*** e Get*** e sono numerevoli.

Mi sono fatto quindi un generatore che prende tutte le attached properties e crea delle classi wrapper con metodi di tipo attached. Quindi per esempio:

public static class CanvasExtensions {        
    public static void SetCanvasLeft(this UIElement element, double length) {
        System.Windows.Controls.Canvas.SetLeft(element, length);
    }
}

E' un metodo per impostare la posizione a sinistra di un UIElement contenuto in un Canvas. Il suo utilizzo è abbastanza semplice e abbiamo supporto all'intellisense:

Ho creato anche dei wrapper per VisualTreeHelper e LogicalTreeHelper. Trovate tutto qua. Basta fare una using e avete tutte le estensioni. Certo niente di speciale e sarebbe stato meglio se l'avesse fatto Microsoft questo lavoro. Comunque può essere d'aiuto...

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese