Pouze tento týden sleva až 80 % na e-learning týkající se Javy. A zároveň využij akce až 30 % zdarma při nákupu e-learningu - Více informací.
Hledáme koordinátorku kurzů a programátora, 100% home office, 100% flexibilní. Prozkoumej aktuální pozice
Java week
Avatar
Majkel
Člen
Avatar
Majkel:20.1.2016 14:47

Ahoj, mám kolekci stringů, kterou potřebuji zobrazit v gridu. Nejjednodušší způsob je nabindovat kolekci na ListBox, ale

  1. nepotřebuji s těmi stringy dále nijak pracovat,
  2. ListBox si naformátuje vzhled těch stringů podle sebe (odsazení, velikost atd.)
  3. po najetí na položku se označí atd.

Chtěl jsem se tedy zeptat, jestli nejde nějak dynamicky vytvořit TextBox pro každý prvek v kolekci (počet prvků je proměnlivý, proto nemůžu vytvořit TextBoxy napevno).

Díky za rady.

 
Odpovědět
20.1.2016 14:47
Avatar
Marian Benčat:20.1.2016 17:28

ListView s templatou. http://www.wpf-tutorial.com/…em-template/

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
20.1.2016 17:28
Totalitní admini..
Avatar
ostrozan
Redaktor
Avatar
ostrozan:21.1.2016 23:40

Na formulář si v požadovaném místě vlož prázdný StackPanel, jen mu nastav orientaci na vertical a pak použij níže uvedenou metodu, které dáš jako parametr svoji kolekci stringů

private void VytvorTexboxy(List<string> ls)
{
for(int i = 0; i < ls.Count; i++;)
{
TextBox tb = new TextBox () ;
tb.Text = ls[i];
stackPanel.Children.Add(tb);
}
}

Takto můžeš dynamicky vytvořit jakékoliv kontrolky, jejichž počet dopředu neznáš

StackPanel je tu použit proto, aby se kontrolky řadily automaticky pod sebe a nemusels jim každé extra zadávat souřadnice

 
Nahoru Odpovědět
21.1.2016 23:40
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Petr Čech
Redaktor
Avatar
Odpovídá na ostrozan
Petr Čech:22.1.2016 13:47

Promiň, chtěl jsem dát plus

Nahoru Odpovědět
22.1.2016 13:47
the cake is a lie
Avatar
Petr Čech
Redaktor
Avatar
Nahoru Odpovědět
22.1.2016 16:34
the cake is a lie
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 5 zpráv z 5.