Technology Experience (Reborn 3)

Contenuti gestiti da Igor Damiani
posts - 895, comments - 1334, trackbacks - 81

My Links

News














  • Questo blog nasce dalle ceneri del mio blog tecnico su UGIdotNET. In questo blog voglio raccontare la mia vita, ovvero quello che non mi sento più di raccontare da nessun'altra parte. Non sono solo un programmatore, dannazione: sono una persona che ha una terribile passione per il proprio lavoro. Ma anche passione per la vita, per le donne, per la birra, per la mia Fiat 500, per il sole ed il mare, per la scrittura, per qualche risata con gli amici, per i sentimenti. Qua troverete tutto questo: buona lettura!.

    23/04/2007,
    Sant'Angelo Lodigiano

Tag Cloud

Archives

Post Categories

Amici

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:

Print | posted on venerdì 15 giugno 2007 16.59 | Filed Under [ .NET World ]

Feedback

Gravatar

# Re: In WPF i controlli non devono avere per forza un nome

Come in html Igor...
(chi ha orecchie per intendere intenda, gli altri in albergo...)
;-)
saluti
15/06/2007 18.49 | Roberto Messora
Gravatar

# re: In WPF i controlli non devono avere per forza un nome

Più o meno quello che succede nelle applicazioni Windows Forms quando imposti GenerateMember=false (a parte il fatto che in WPF Name=null by default)
15/06/2007 22.44 | Corrado Cavalli
Gravatar

# re: In WPF i controlli non devono avere per forza un nome

Come ironicamente ricorda Roberto nel commento, i linguaggi di markup non necessariamente debbono riciedere un nome del controllo. Semplicmente indicano che ad un certo punto c'è un oggetto e che tale oggetto è fatto in un certo modo. Questo perche il nome è necesario solo quando si richiede al controllo di modificare il proprio stato a "run-rime". In .net (ma anche in VB6) i controlli, comprese le label, non sono (a parte negli spettacolari splash screen bitmap di Corrdado) caricati in RAM così come appaiono ma vengono inizializati a run-time nella fase di caricamento del form.
16/06/2007 7.41 | Alessandro Scardova

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 4 and 2 and type the answer here:

Powered by:
Powered By Subtext Powered By ASP.NET