‫Ben tornato.
‫E in questo video parleremo delle proprietà di dipendenza, e sono molto importanti non
‫appena arriviamo all'associazione dei dati.
‫E generalmente ha senso per te capire come funzionano.
‫Quindi andiamo avanti e creiamo un pulsante all'interno della nostra griglia.
‫E lo facciamo semplicemente creando la parola chiave del pulsante, come abbiamo già visto più volte.
‫E qui assegnerò solo un'altezza di, diciamo, cento pixel e una larghezza
‫di duecento pixel e quindi il contenuto di cliccami.
‫E ora voglio usare qualcosa chiamato sfondo.
‫Quindi c'è una proprietà chiamata background e voglio assegnarla a una fogna, ok?
‫Sicuro.
‫Quindi quello sarà il mio bottone.
‫E come puoi vedere ora, ha solo una specie di colore.
‫Forse dovremmo farla rossa.
‫Come se il rosso fosse piuttosto forte.
‫Viola pallido, rosso.
‫Sembra bello.
‫Quindi un colore semplice.
‫Quindi l'idea alla base di questo è che voglio andare avanti e spiegarti cosa sono le proprietà di dipendenza, dove
‫si trovano e come creare le tue proprietà di dipendenza.
‫Ed è abbastanza facile farlo con un pulsante, direi.
‫E a proposito, questo pulsante e in realtà lo chiuderò in quel modo perché voglio dare uno stile a quel pulsante.
‫Quindi, all'interno dei tag del pulsante, voglio aggiungere un po' più di stile a quel pulsante.
‫E lo stile dovrebbe essere un fattore scatenante.
‫Quindi voglio innescare.
‫Quindi, se entro nell'area dei pulsanti, voglio cambiare il colore o qualcosa del genere.
‫Quindi userò uno stile punto pulsante.
‫Ora, quello stile del pulsante ha bisogno di uno stile qui, così posso creare il nostro stile qui e imposterò un obiettivo
‫per quel tipo di destinazione di stile.
‫Sarà pulsante.
‫Ora, non è abbastanza perché quello che voglio fare ora è aggiungere un trigger a quello stile.
‫Quindi userò i trigger di stile.
‫Come questo, e ora posso andare avanti e creare bellissimi piccoli trigger che verranno attivati una volta che si verifica un evento e
‫abbiamo già visto eventi, ma questo è un evento leggermente diverso.
‫Quindi è un trigger che possiamo usare come segue.
‫Possiamo creare un trigger qui e quel trigger avrà una proprietà.
‫E quello è, per esempio, passa il mouse.
‫Quindi, una volta che il mouse è su quel pulsante, il valore dovrebbe essere impostato su true.
‫E in quel grilletto, allora ho bisogno di Setas.
‫Quindi cosa succederà se questo è il caso?
‫Quindi quello che farò è impostare la dimensione del carattere della proprietà sul valore di trenta perché ora la dimensione del carattere è molto
‫più piccola.
‫Quindi qui abbiamo il pulsante, che ha un'ampiezza specifica, un contenuto, una larghezza e tutto quel genere di cose.
‫E ho realizzato un pilota che caricava violentemente in rosso e poi ho aggiunto uno stile a quel pulsante.
‫E quello stile che ho aggiunto è in realtà un trigger.
‫Quindi posso esistere qualcosa chiamato trigger di stile, che attiverà un cambiamento di stile.
‫E questo è il grilletto che viene eseguito una volta che il mouse è su quel pulsante e questo imposterà le cose.
‫Quindi quello che farà è impostare la dimensione del carattere sui valori che abbiamo
‫specificato qui e ora qui assegniamo quel valore vero significa che verrà attivato quando il passaggio del mouse è vero.
‫E questo è vero una volta che passiamo il mouse sul nostro mouse o una volta che siamo Mosè sul pulsante.
‫Quindi, se lo eseguiamo, dovremmo vedere alcuni cambiamenti.
‫E questo è un approccio piuttosto lungo per avere solo una funzionalità al passaggio del mouse, ma è molto di più che
‫vogliamo usare qui.
‫Quindi vedi, ci passo sopra e il colore cambia in questo colore bluastro e poi abbiamo questo testo che sembra
‫più grande.
‫Quindi il valore cambia in 30.
‫Quindi è fantastico e tutto.
‫Ma perché abbiamo bisogno di questo lungo codice?
‫Bene, il fatto è che stiamo usando le proprietà qui.
‫Come puoi vedere, questa cosa si chiama proprietà.
‫E in realtà la larghezza è una proprietà, il contenuto è una proprietà, lo sfondo è una proprietà.
‫E dipendono dalle proprietà di dipendenza o sono collegati alle proprietà di dipendenza e sono importanti
‫per il data mining.
‫Come ho detto, di cosa tratteremo nel prossimo video o in uno dei prossimi video.
‫Ma è anche importante avere questo evento trigger o che il pulsante sia consapevole di cosa sta
‫succedendo.
‫Quindi andiamo avanti e creiamo un pulsante all'interno del nostro metodo della finestra principale.
‫Sto solo creando un pulsante.
‫E ora voglio dare un'occhiata alla classe stessa.
‫Quindi vai alla definizione in modo da poter semplicemente premere F 12 per arrivare alla definizione.
‫Quello che farà è che mi mostrerà la classe del pulsante.
‫E come puoi vedere, è una classe che eredita da quella basata sui pulsanti.
‫Esiste una proprietà di dipendenza statica di sola lettura, che è predefinita, la proprietà viene annullata, la proprietà ha
‫una proprietà predefinita.
‫Quindi non troppo.
‫Ma quello che puoi anche vedere è che in realtà c'è una proprietà normale qui.
‫Quindi questo è un SEAL.
‫La nostra proprietà che abbiamo qui, che è chiamata questa impostazione predefinita, viene annullata ed è
‫predefinita e quelle sono collegate a quelle proprietà di dipendenza.
‫Quindi rappresenta una proprietà che può essere impostata attraverso metodi come il tiling, l'animazione del data
‫binding e l'ereditarietà.
‫Quindi il data mining, come ho detto, è qualcosa che tratteremo in seguito sullo stile.
‫Va bene.
‫Ma abbiamo appena finito di definire lo stile del nostro pulsante e possiamo usare l'animazione e l'ereditarietà per questo.
‫Ma ora diamo un'occhiata più in profondità nella base del pulsante in modo da sapere che il pulsante sta ereditando dalla base del
‫pulsante.
‫Quindi possiamo andare alla definizione di base del pulsante e controllare.
‫Va bene.
‫È una classe di controllo del contenuto.
‫Quindi la base del pulsante eredita dal controllo del contenuto, che, beh, la base del pulsante ha un evento indirizzato, come puoi
‫vedere qui, evento clic.
‫E abbiamo visto l'ultima volta che l'evento incluso DOT è e ha anche molte proprietà di dipendenza,
‫come la modalità clic premuto, il comando proprietà, il target e così via.
‫Ma alcuni di questi non li abbiamo ancora toccati.
‫Ma ciò che è ancora più interessante, se andiamo ancora più a fondo nel controllo del contenuto, possiamo
‫vedere che c'è una proprietà che dice ha contenuto.
‫Quindi questo si sta occupando di tutto il contenuto del pulsante.
‫Ad esempio, il testo è un blocco di testo all'interno del nostro pulsante.
‫Quindi, se abbiamo contenuto all'interno del nostro pulsante, allora.
‫È gestito da questa classe o da questa classe di controllo del contenuto, e in realtà possiamo andare ancora più
‫in profondità, andare alla definizione, e qui troveremo molte proprietà di dipendenza ed eventi di root.
‫E questa classe di controllo ha proprietà di dipendenza chiamate proprietà put, quindi pennello ad acqua.
‫Quindi il colore dell'acqua, quindi un allineamento del contenuto verticale, un allineamento del contenuto orizzontale.
‫E ora qui questo è interessante per noi perché l'abbiamo usato.
‫È una proprietà di sfondo ed è esattamente quella che abbiamo impostato nel nostro file Zemo.
‫Come puoi vedere qui, abbiamo detto che lo sfondo diventa rosso viola pallido in modo da poter accedere a quelle proprietà di dipendenza
‫tramite le nostre proprietà qui.
‫Quindi queste sono le nostre proprietà come la dimensione del carattere, il carattere, lo sfondo della famiglia, il primo
‫piano, tutto quel tipo di cose che usiamo quando lavoriamo con i controlli e un pulsante, ad esempio, come controllo o blocco di
‫testo, è anche un controllo.
‫Quindi ereditano tutti da questa classe di controllo e hanno tutti queste proprietà di dipendenza che
‫quindi attivano e informano, beh, dei cambiamenti.
‫Quindi qui vediamo anche che c'è qualcosa di importante nelle proprietà di dipendenza, ed è che sono sempre statiche
‫e sono di sola lettura.
‫Quindi questo è molto importante.
‫Inoltre, quello che puoi vedere è che finiscono sempre con il nome della proprietà.
‫Quindi qui, ogni volta che definiamo una proprietà di dipendenza, diciamo background, che è lo stesso nome
‫della proprietà stessa.
‫Quindi qui, per esempio, dov'è?
‫C'è lo sfondo, ma poi anche il termine proprietà alla fine.
‫Quindi storia molto lunga.
‫E abbiamo scavato molto in profondità.
‫Ma poi ti mostreremo un po' di più quali sono queste proprietà di dipendenza e con cosa
‫lavoriamo sempre.
‫Quindi stiamo giocando con le proprietà, ma in realtà funzionano con le proprietà di dipendenza.
‫Perché abbiamo bisogno di tutto questo?
‫Bene, solo per capire cosa sta succedendo qui con questo trigger, YPF sta usando una proprietà di dipendenza
‫qui.
‫Quindi, ad esempio, questo è mouseover ed è mouseover fornisce una notifica a catena a WPX con l'aiuto delle
‫proprietà di dipendenza e questo ci consente di impostare il valore su through.
‫E poi anche se dai un'occhiata, perché è qualcosa che non ho toccato.
‫In realtà è la parola errore di compilazione.
‫Quindi dobbiamo sbarazzarci di questo pulsante qui.
‫Ma non abbiamo ancora trattato o toccato ancora, il che è piuttosto importante come quanto segue.
‫Quindi puoi vedere che abbiamo questo trigger e dice che la proprietà è il valore del passaggio del mouse.
‫Vero.
‫E si innescherà una volta che tutto questo sarà vero, cosa farà?
‫Bene, imposterà proprietà come la dimensione del carattere su trenta.
‫E lascia che te lo mostri di nuovo, ok, lo vedo.
‫Ma ora se lascio il pulsante, puoi vedere come sta tornando indietro e questo viene fatto da questa proprietà di
‫dipendenza.
‫Quindi informa su cosa sta succedendo e vende, riportando il valore della dimensione del carattere al suo
‫valore originale.
‫Quindi, come puoi vedere, è vero solo mentre il mouse è sopra e questo è possibile attraverso le proprietà di dipendenza.
‫Ora, un'altra cosa sulle proprietà di dipendenza, perché ho detto che dovrebbero essere sempre statiche e di
‫sola lettura, ed è perché tutti i controlli dovrebbero essere condivisi e disponibili.
‫Quindi non vuoi che un controllo sia disponibile solo una volta.
‫Vuoi anche che sia disponibile per altre classi e altre visualizzazioni e così via.
‫Ed è statico perché il valore non deve essere modificato dopo l'inizializzazione.
‫E questa notifica a catena, il trigger delle proprietà di dipendenza è necessario per il data mining, per l'animazione, per i trigger,
‫come abbiamo visto qui, per lo stile e così via.
‫Ora, se vuoi andare avanti e creare la tua proprietà di dipendenza, puoi farlo per molto tempo.
‫Quindi creerò una nuova proprietà in questa classe qui.
‫Lo chiamerò, in realtà, mettiamolo sopra.
‫Lo chiamerò pubblico e di mia proprietà.
‫E come ho detto, questa è una proprietà C LR.
‫E qui dentro avrò bisogno di una presa e di un set.
‫Ma non basterà.
‫Vado solo a quelli della seconda.
‫Creiamo una proprietà di dipendenza per quella mia proprietà.
‫Quindi creerò una proprietà di
‫dipendenza di sola lettura statica pubblica chiamata proprietà di dipendenza della mia proprietà di dipendenza.
‫E quello dovrebbe essere inizializzato immediatamente con il registro dei punti della proprietà di dipendenza.
‫Quindi stiamo registrando una nuova proprietà di dipendenza e dobbiamo assegnare più cose.
‫Ad esempio, dobbiamo avere un nome di stringa.
‫Lo chiamerò e basta.
‫La mia proprietà, quindi abbiamo bisogno di un tipo di proprietà, quindi di quale tipo dovrebbe essere questa proprietà?
‫E come abbiamo visto qui, la proprietà che è la mia proprietà è di tipo.
‫Quindi userò il tipo di tipo di int successivo.
‫Dobbiamo digitare il proprietario dell'immobile.
‫Quindi il proprietario del tipo e il proprietario di questo tipo della mia proprietà è la mia classe di finestra principale perché, beh, è
‫nel principale senza classe.
‫Quindi diciamo semplicemente che type of sarà la finestra principale e ora dobbiamo anche consegnare i metadati della proprietà.
‫Quindi creerò nuovi metadati di proprietà, che saranno zero.
‫Quindi inserirò solo zero qui.
‫Niente di eccezionale e basta.
‫Ecco come possiamo creare una proprietà di dipendenza.
‫E ora anche la mia stessa proprietà dovrebbe essere influenzata da questa proprietà di dipendenza, ovviamente.
‫E per farlo, devo andare avanti e regolare il get e il set.
‫Quindi a Geter dovrebbe essere restituito il nostro valore get, la mia proprietà di dipendenza.
‫Ma ora abbiamo questo problema che il valore della proprietà di dipendenza è di tipo proprietà di dipendenza.
‫E anche se abbiamo detto che è di tipo int, abbiamo ancora bisogno di trasmetterlo all'interno.
‫Quindi lo trasformerò in un numero intero e ora possiamo andare avanti e chiudere effettivamente per spargersi sull'istruzione.
‫Destra.
‫Meglio dire.
‫E ora il setter dovrebbe essere impostato come valore.
‫E qui ho impostato la mia proprietà di dipendenza sul valore che è stato dato.
‫Questo è ciò che stiamo facendo qui ed è così che puoi creare la tua proprietà di dipendenza.
‫Quindi questo è ciò che è importante.
‫Solo lettura statica è necessario crearlo come tipo di proprietà di dipendenza.
‫Puoi dargli un nome, poi devi registrarlo e devi dargli un nome, un tipo.
‫E dove si trova il proprietario o quali sono i proprietari della classe in cui è stata creata la proprietà.
‫E poi devi consegnare alcuni metadati di proprietà in modo da poter aggiungere alcuni metadati di proprietà aggiuntivi.
‫Come puoi vedere, ci sono quattro diversi overlord e puoi consegnare un oggetto, che è
‫il valore predefinito, e sto solo dicendo, OK, valore predefinito zero.
‫Quindi la mia proprietà verrà impostata su zero a causa dei metadati della mia proprietà che ho impostato qui.
‫Va bene.
‫Quindi un sacco di cose qui.
‫E a seconda di ciò che svilupperai, potresti non creare mai la tua proprietà di dipendenza.
‫Quindi nessun problema.
‫Se a un certo punto hai bisogno di utilizzare le proprietà di dipendenza, dai un'occhiata a come crearne di tue.
‫Altrimenti, puoi semplicemente utilizzare le proprietà che avevamo qui.
‫E per un utente finale o diciamo per uno sviluppatore che costruisce semplicemente l'interfaccia utente e non sarà così
‫rilevante.
‫Ma volevo solo mostrarti come si costruiscono le cose e cosa è importante qui.
‫Va bene.
‫Allora ci vediamo al prossimo video.