Diskuze: C# WPF vypnutí řazení vedle sebe v stackpanelu

C# .NET .NET (C# a Visual Basic) C# WPF vypnutí řazení vedle sebe v stackpanelu American English version English version

Avatar
Shakul
Redaktor
Avatar
Shakul:

Zdravím.
Mám v kontrolce button a v její vlastnosti Content mám vložený stackPanel, který mi umožňuje vložit do tlačítka více objektů naráz (např. obrázek + text + mírně průhledný obdelník)
Vše funguje jak má až na to, že stackPanel řadí kontrolky vedle sebe. Dá se tedy nějak nastavit, aby to kontrolky neřadilo vůbec? Tedy všechny se naskládaly na sebe? Popřípadě existuje nějaká kontrolka, která to umožňuje nebo je třeba vhodnější pro použití v této situaci?

 
Odpovědět 22.11.2015 18:21
Avatar
patrik.valkovic
Šéfredaktor
Avatar
patrik.valkovic:

StackPanel by měl řadit kontrolky pod sebe. Pokud je chceš dávat na sebe, použij Grid.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 22.11.2015 18:40
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Shakul
Redaktor
Avatar
Odpovídá na patrik.valkovic
Shakul:

Děkuju. Nechápu, jak mě to nemohlo napadnout.. zkoušel jsem snad všechny možné kontejnery na kontrolky... třeba StackPanel, WrapPanel, Canvas, DockPanel nebo TabControl. Nechápu proč, ale Grid jsem nějak přehlédl..

 
Nahoru Odpovědět 22.11.2015 19:14
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Shakul
ostrozan:

StackPanel a WrapPanel mají smysl své existence právě v tom řazení - kdybys jim chtěl vzít i to - k čemu by pak byly? :-)

To máš na ty tvoje šachy?

a jestli chápu dobře, tak je chceš vrstvit na sebe - to v důsledku znamená, že je budeš do sebe vkládat a abys to mohl udělat - musejí být "Content control", případně "ItemsControl"- na to musíš dát pozor při výběru kontrolek - třeba Image Content control není - nic do něj nevložíš.
takže do buttonu dostanš na sebe max 2 Image - jeden do Backgroundu jako ImageBrush a druhý do Contentu, ale ten musí být jako poslední - v logickém stromu .

více objektů naráz (např. obrázek + text + mírně průhledný obdelník)

tady bych dal obrázek do Backgroundu, do Contentu ten Grid, do Gridu Rectangle a do RectangleTextBlock, který bude taky vždy konečný(ačkoliv je Content control) - dostaneš do něj už jen ten text.

tak si ale dej pozor i na tom Gridu, když

 
Nahoru Odpovědět  +1 22.11.2015 20:40
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 4 zpráv z 4.