Supponiamo di avere XAML che rappresenta una griglia con alcuni bambini al suo interno, ogni bambino è un controllo diverso, con una x: nome. Come posso "ottenere" quei controlli da codice per nome?Silverlight 3.0: Come ottengo i bambini della griglia per x: Nome?
risposta
Se il codice che si sta scrivendo si trova nel file code-behind per il file xaml, quindi Visual Studio dovrebbe generare automaticamente variabili membro contenenti riferimenti a qualsiasi elemento denominato nel file xaml. Quindi se hai un pulsante con x: Name = "myButton", puoi accedere a questo pulsante tramite this.myButton.
Se si vuole fare riferimento a un elemento di nome da qualche parte diverso dal file code-behind, è possibile chiamare FindName sull'elemento all'elemento di nome, per esempio:
Button myButton = myGrid.FindName("myButton") as Button;
dove myGrid è un riferimento alla Griglia in questione.
Ogni controllo con x: Nome ha un campo creato per esso nella classe parziale che viene creata per XAML. Questo campo ha una accessibilità interna. Quindi dal codice con il "code-behind" cs (perché odio quel termine?) Puoi semplicemente usare il nome del controllo direttamente nel codice per accedervi.
Vuoi essere così gentile ed elaborato? – Maciek
Penso che voglia dire, se hai x: Name = "MyNamedControl". Una volta che lo compili, il file Reference.g lo avrà automaticamente disponibile in modo che tu possa semplicemente digitare this.MyNamedControl – Paully
Ma se stai facendo template, questo non succederà e dovresti usare FindName – Paully
- 1. Silverlight (3.0): Come aggiungere il riempimento cella a una griglia?
- 2. griglia menu cocos2d 3.0
- 3. Solo linee della griglia minori sull'asse x
- 4. Come ottengo i dati della riga selezionata da una vista griglia dati usando SelectedRows?
- 5. Come posso recuperare solo i bambini corrispondenti?
- 6. Come impostare l'ombra intorno alla griglia in silverlight?
- 7. Wordpress: Come ottengo il nome della tassonomia in taxonomy.php?
- 8. Come ottengo il nome della classe del genitore in Ruby
- 9. Come graficare i punteggi della griglia da GridSearchCV?
- 10. Come ottenere i dati dalla riga della griglia Ext JS
- 11. Imposta il nome della variabile dinamica in ActionScript 3.0
- 12. come punti della griglia 2d della mappa (x, y) sulla sfera come punti 3d (x, y, z)
- 13. Hibernate: OneToMany salva i bambini per cascata
- 14. Come si legano i bambini di una griglia a un elenco?
- 15. Come ottengo la derivata della funzione?
- 16. griglia bootstrap 3.0 con meno di 12 colonne
- 17. Mostra l'immagine 360 in Silverlight 3.0 (Not Panorama)
- 18. ReactJS dattiloscritto con i bambini
- 19. jquery ottenere i bambini per attributo
- 20. Magento: blocca unsetChild per tutti i bambini?
- 21. Come esportare i dati della griglia di extjs in Excel?
- 22. Swift 3.0 Modifica della sintassi per UIUserNotificationSettings
- 23. Griglia Kendo - Come ottenere i dettagli della riga su RowSelected?
- 24. Perché per Each non funziona per i bambini?
- 25. Come trovare tutti i quadrati della griglia su una linea?
- 26. Entity Framework 3.5 - Come caricare i bambini
- 27. Come contare i bambini in un albero
- 28. Come schernire i bambini attori per testare un sistema Akka?
- 29. Come utilizzare nth-of-type per selezionare i bambini nidificati
- 30. Silverlight 4 Equivalente a WPF "x: static"
woot! questo funziona Ho trovato un'alternativa che è un po 'più complessa ma funziona altrettanto bene: pulsante privato myButtnon; foreach (FrameworkElement fe in myGrid.Children) { se (fe.GetType() == typeof (Button) myButton = fe Button; } – Maciek
noti che myButton sarebbe un campo con accessibilità interna quindi anche da codice esterno il file code-behind puoi accedervi senza ricorrere a FindName. – AnthonyWJones
se hai idea di quanto tempo ho cercato questa semplice risposta! grazie anche per la domanda diritta – Arrie