che sto cercando aiuto per trovare il modo migliore per fare riferimento ai controlli che sono stati programmtically costruito in C#Trova controllo WPF per nome
Se ho pre includere un'etichetta in XAML e il nome marketInfo
poi nel codice che posso impostare la proprietà Tag
con qualcosa di simile
marketInfo.Tag = timeNow;
Tuttavia, sto costruendo controlli e assegnando a ciascuna un nome con qualcosa di simile a
System.Windows.Controls.Label lbl = new System.Windows.Controls.Label();
lbl.Content = market.name + " - " + DateTime.Now.ToLocalTime().ToLongTimeString();
lbl.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Left;
lbl.Height = 40;
lbl.Name = @"_" + "marketInfo" + countMarket;
Come faccio a fare riferimento a questi controlli da un altro metodo? Ho letto alcuni post che suggeriscono di utilizzare lo visualtreehelper
ma sembra richiedere controlli di loop per trovare un particolare controllo. C'è un modo per accedere a un controllo per nome per evitare il loop?
ad esempio qualcosa di simile a
//pseudo code
SomeControl("_marketInfo5").Tag = timeNow;
Grazie
Il dizionario è un metodo molto migliore rispetto alla ricorsione, soprattutto perché i controlli di cui ho bisogno sono tutti i bambini con diversi livelli di profondità. Avrei dovuto pensarci. Grazie. – user3357963
Questo è stato un grande suggerimento, non ha funzionato per me, ma mi ha portato a cosa ha funzionato. Ho dovuto usare 'control.Template.FindName (" name ")' per ottenere il bambino di cui avevo bisogno. – Fred