Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
ostrozan
Tvůrce
Avatar
ostrozan:1.5.2014 23:58

Jedná se o případ, kdy text Itemu zadám jako Content v xamlu, nebo přes Collection editor

//přetypování:
(string)listBox1.SelectedItem // vyhodí vyjímku

//konverze:
 Convert.ToString(listBox1.SelectedItem)//vypíše "System.Windows....."

//metoda:
listBox1.SelectedItem.ToString() //vypíše "System.Windows....."

když ale jako Item přidám string v .cs

listBox1.Items.Add("ahoj");

pak ho taky bez problémů získám zpět použitím kteréhokoliv z výše uvedených způsobů

jenže to je při použití více třeba ComboBoxu s více položkami dost psaní a spousta řádků v .cs

 
Odpovědět
1.5.2014 23:58
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na ostrozan
Ondřej Štorc:2.5.2014 0:36

Nevím zda je to nejideálnější způsob ale funguje:

string s = listBox1.GetItemText(listBox1.SelectedItem);
Nahoru Odpovědět
2.5.2014 0:36
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Michal Žůrek - misaz:2.5.2014 7:00

ano totiž tam se asi ten vkládaný string převede na nějaký jiný prvek, ono jako totiž co to má vložit do XAMLu? String prostě v XAMLu celkem nijak neprezentuješ. Intelisense by si měl sám zjistit datový typ a poradit ti jaká vlastnost je ta správná. Nejspíš to bude něco jako Text, Value, Content, ...

pak by jako mělo fungovat normálně

string s = lb.selectedItem.Text;
Editováno 2.5.2014 7:01
 
Nahoru Odpovědět
2.5.2014 7:00
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Ondřej Štorc
ostrozan:8.5.2014 13:23

dostal jsem s ek tomu až teď a zjistil, že VS2010 nic takového jako je "GetItemText" nezná - patrně vylepšení na vyšších verzích, které mi ovšem na mém stařičkém IBM zvládajícím maximálně XPéčka nejdou nainstalovat :(

 
Nahoru Odpovědět
8.5.2014 13:23
Avatar
rawen
Člen
Avatar
Odpovídá na ostrozan
rawen:8.5.2014 13:44

Zkus tohle, měloby to fungovat ;)

string vysledku = ((ListBoxItem)listBox1.SelectedItem).Content.ToString();
Editováno 8.5.2014 13:45
Nahoru Odpovědět
8.5.2014 13:44
Co můžeš naprogramovat dnes, neodkládej na zítřek.
Avatar
ostrozan
Tvůrce
Avatar
ostrozan:8.5.2014 14:36

trochu krkolomné, ale funkční :) dík

 
Nahoru Odpovědět
8.5.2014 14:36
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na ostrozan
Jan Vargovský:8.5.2014 14:43

Nebo prostě napsat

string vysledek = listBox1.SelectedItem.ToString();

což, chlapi? :)

 
Nahoru Odpovědět
8.5.2014 14:43
Avatar
rawen
Člen
Avatar
Odpovídá na Jan Vargovský
rawen:8.5.2014 15:11

To by šlo ve WF, ale ve WPF by to připisovalo před název položky System.Window­s.Controls.Lis­tBoxItem: ;)

Nahoru Odpovědět
8.5.2014 15:11
Co můžeš naprogramovat dnes, neodkládej na zítřek.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na rawen
Jan Vargovský:8.5.2014 15:38

To už pak záleží, jak tam ty data dáváš :)

 
Nahoru Odpovědět
8.5.2014 15:38
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 9 zpráv z 9.