Technology Experience
.NET World

In WPF i controlli non devono avere per forza un nome

Il titolo del post è talmente significativo che potrei addirittura non scrivere nulla qua.

Questa cosa dei controlli senza nome è una cosa a mio avviso comodissima, perchè non è detto che tutti i controlli che mettiamo su una Window o una Page abbiano davvero un significato dal punto di vista programmatico. Pensiamo alle classiche Windows Forms: credo che sia successo a tutti di mettere delle Label solo per dare un’etichetta a TextBox o ad altri controlli di input. Il designer ci mettere per default un nome come Label1, e poi dobbiamo essere noi a dare un nome più sensato. In certi casi, come questo che ho appena citato, il nome non lo vorrei proprio dare, perchè non mi interessa vedere quella label nel codice C#. O comunque, possiamo darlo magari in un secondo momento, quando ci rendiamo conto che magari ci serve gestirlo in qualche modo.

In WPF accade esattamente così. Quando aggiungiamo un nuovo controllo su una Window esso non ha alcun nome. Lo capiamo perchè nello XAML il tag – ad esempio <TextBox />, non ha l’attributo Name. In questo caso, quel controllo non ha nome e non possiamo gestirlo nel code-behind C# attraverso una variabile dedicata. Trovo comodissimo poter aggiungere controlli no-named, solo per creare la UI e per abbellirla, senza che questo mi vada ad intaccare e a “sporcare” il codice, l’Intellisense e così via. Possiamo ovviamente recuperarne l’istanza in altri modi, come navigare nel visual tree della Windows e cercare un determinato oggetto, perchè l’oggetto esiste a tutti gli effetti, solo che non ha nome e quindi il compilatore evita di istanziare una variabile nel code-behind.

Technorati Tags:

Send to Kindle

Igor Damiani

La sua passione per l'informatica nasce nella prima metà degli anni '80, quando suo padre acquistò un Texas Instruments TI-99. Da allora ha continuato a seguire l'evoluzione sia hardware che software avvenuta nel corso degli anni. E' un utente, un videogiocatore ed uno sviluppatore software a tempo pieno. Igor ha lavorato e lavora anche oggi con le più moderne tecnologie Microsoft per lo sviluppo di applicazioni: .NET Framework, XAML, Universal Windows Platform, su diverse piattaforme, tra cui spiccano Windows 10 piattaforme mobile. Numerose sono le app che Igor ha creato e pubblicato sul marketplace sotto il nome VivendoByte, suo personale marchio di fabbrica. Adora mantenere i contatti attraverso Twitter e soprattutto attraverso gli eventi delle community .NET.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.