none
MinWidth nach "oben" vererben RRS feed

  • 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

    Donnerstag, 28. Oktober 2010 15:10

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
    Donnerstag, 28. Oktober 2010 16:01

Alle Antworten

  • Hallo Namenloser,

    ich wüsste keinen Weg, das ohne Code (Converter=Code) abzubilden.


    Cheers,
    Olaf
    http://blogs.intuidev.com
    Donnerstag, 28. Oktober 2010 15:35
  • 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

    Donnerstag, 28. Oktober 2010 15:44
  • 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
    Donnerstag, 28. Oktober 2010 16:01