Benutzer mit den meisten Antworten
MinWidth nach "oben" vererben

Frage
-
Hallo
kann man es in XAML einstellen, dass die Summe der MinWidth-Werte
von Kindelemente zur MinWidth eines übergeordneten Containers
aufgerechnet wird?
Beispiel: Ich habe ein Window, darin ein Grid, darin 2 Columns, beide haben
MinWidth="100".
Gibt es eine Syntax (kein Code-Behind, sondern XAML), um zu erreichen,
dass das Window dann die MinWidth von 200 + Offset für sein Border hat?
MinWidth="auto" ist ja illegal.
Den gleichen Mechanismus hätte ich auch gerne für geschachtelte GroupBoxes.
Wenn die innere GroupBox 100px MinWidth hat sollte die äußere 100 + die
ursprünglichen Offsets zwischen innen und außen haben.
Irgendeine Idee?
YetAnotherOtherCoder
Antworten
-
Du müsstest schon per VisualTreeHelper/LogicalTreeHelper vom obersten Element aus den Baum abgrasen und alle Werte (inkl. Padding, Margin, etc.) aufrechnen, die von Belang sein könnten = echte Fleißarbeit.
Fragt sich nur, warum Du das machen willst? Warum nicht die MinWidth in den relevanten Elementen setzen und nach oben (z.B. im umgebenden Grid) einfach ignorierst und dafür einen ScrollViewer einsetzt, falls die Fensterbreite nicht ausreicht, um die per MinWidth restriktiv gestalteten Bereiche entspr. anzuzeigen.
Cheers,
Olaf
http://blogs.intuidev.com- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 4. November 2010 07:23
Alle Antworten
-
Hallo Namenloser,
ich wüsste keinen Weg, das ohne Code (Converter=Code) abzubilden.
Cheers,
Olaf
http://blogs.intuidev.com -
Hallo
OK und wie mir Converter?
Das Problem sind die Offsets durch diverse Zwischenelemente,
die nicht explizit im Markup ausgewiesen sind.
Also wie bekomme ich, um im Bsp zu bleiben, die Breite für alle
dekorierenden Elemente des Windows?
YetAnotherOtherCoder -
Du müsstest schon per VisualTreeHelper/LogicalTreeHelper vom obersten Element aus den Baum abgrasen und alle Werte (inkl. Padding, Margin, etc.) aufrechnen, die von Belang sein könnten = echte Fleißarbeit.
Fragt sich nur, warum Du das machen willst? Warum nicht die MinWidth in den relevanten Elementen setzen und nach oben (z.B. im umgebenden Grid) einfach ignorierst und dafür einen ScrollViewer einsetzt, falls die Fensterbreite nicht ausreicht, um die per MinWidth restriktiv gestalteten Bereiche entspr. anzuzeigen.
Cheers,
Olaf
http://blogs.intuidev.com- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 4. November 2010 07:23