NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
vlastajuracka:11.9.2017 19:18

Zdravím snažím se používat metodu findName a nejspíš ji používám špatně... Ale nepřipadá mi že to dělam chybně.. Budu rád za každou radu :)

StackPanel g = new StackPanel();
Label l1 = new Label();
l1.Content = "Ahoj";
 g.Children.Add(l1);
Label ll = (Label) g.FindName("l1");
Console.WriteLine(ll.Content);
 
Odpovědět
11.9.2017 19:18
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na vlastajuracka
Petr Nymsa:11.9.2017 22:56

Jméno control (ovládacího prvku) nemá nic společného s nazvem promenne, kde mas ulozenou referenci na objekt Label. Nastav na l1 vlastnost Name na "l1" a melo by ti to fungovat.

l1.Name="l1";
Editováno 11.9.2017 22:57
Nahoru Odpovědět
11.9.2017 22:56
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovídá na Petr Nymsa
vlastajuracka:11.9.2017 23:11

Je to jsem přehlédl taková chyba debilní... Ale udělal jsem to a stále nefunguje..... Chyba je stále stejná ll je nulový

 
Nahoru Odpovědět
11.9.2017 23:11
Avatar
Odpovídá na vlastajuracka
Matyáš Černohous:11.9.2017 23:48

Můžeš to udělat třeba takhle. Jen ti není tak efektivni jako FindName(). Tušim, že mě taky FindName nefungoval :(

foreach (Control c in StackPanel.Controls)
{
if(c is Label)
{ Label l = new Label();
If(l.Name.Equals("l1"))
{ do something}
}
Editováno 11.9.2017 23:49
 
Nahoru Odpovědět
11.9.2017 23:48
Avatar
Odpovídá na Matyáš Černohous
vlastajuracka:11.9.2017 23:56

Neni to tak efektivní no... Jakože todle mě taky napadlo no jenže ty jo je to takovy nehezky :D Mě štve proč to nejde ty jo...

 
Nahoru Odpovědět
11.9.2017 23:56
Avatar
vlastajuracka:12.9.2017 2:24

Tak už jsem na to přišel... Metoda FindName funguje pouze pokud je to xaml... Pokuď je to vytvářeno kódově funguje tato metoda.. Takže pokud někdo hhledá snad pomůže

Label l = (Label) LogicalTreeHelper.FindLogicalNode(l1, "l1");
 
Nahoru Odpovědět
12.9.2017 2:24
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.