que busco ayuda para encontrar la mejor manera de referirse a los controles que se han construido programmtically en C#Encuentra control de WPF por Nombre
Si pre incluir una etiqueta en XAML y el nombre de marketInfo
a continuación en el código que pueda establecer la propiedad Tag
con algo como
marketInfo.Tag = timeNow;
Sin embargo, estoy construyendo controles y asignar cada una un nombre usando algo similar 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;
¿Cómo me refiero a estos controles desde otro método? He leído algunas publicaciones que sugieren usar el visualtreehelper
, pero parece que esto requiere controles de bucle para encontrar un control en particular. ¿Hay alguna forma de acceder a un control por nombre para evitar el bucle?
por ejemplo, algo similar a
//pseudo code
SomeControl("_marketInfo5").Tag = timeNow;
Gracias
El diccionario es un método mucho mejor que la recursión, especialmente porque los controles que necesito son todos los niños de varias capas de profundidad. Debería haber pensado en eso. Gracias. – user3357963
Este fue un gran consejo, no funcionó para mí, pero me llevó a lo que funcionó. Tuve que usar 'control.Template.FindName (" nombre ")' para obtener el elemento secundario que necesitaba. – Fred