Diskuze: C# WPF kolekce stringů

C# .NET .NET (C# a Visual Basic) C# WPF kolekce stringů American English version English version

Aktivity (1)
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
Redaktor
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
"C# 3.0 (2007) volal Java 8 (2014), že chce svoje featury zpět"
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  ±0 21.1.2016 23:40
Avatar
Odpovídá na ostrozan
Petr Čech (czubehead):22.1.2016 13:47

Promiň, chtěl jsem dát plus

Nahoru Odpovědět 22.1.2016 13:47
Why so serious? -Joker
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.