none
Die Breite einer Spalte eines Grid abfragen RRS feed

  • Frage

  • Hallo,

     

    ich habe ein WPF-Fenster, in welchen sich ein Grid befindet.

        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="100" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="150" />
            </Grid.ColumnDefinitions>
        </Grid>
     
    


    Je nachdem wie breit nun mein Fenster ist, ändert sich die Breite der mittleren Spalte. Das ist auch so gewollt !

     

    Wie kann ich in C# die Breite dieser mittleren Spalte abfragen ?

    Samstag, 7. Januar 2012 13:08

Antworten

Alle Antworten

  • häng dich an das sizechanged event

    <Grid SizeChanged="mygrid_SizeChanged">
    


    und in dem handler kannste das ganze (sofern der aufbau so bleibt) über

           private void mygrid_SizeChanged(object sender, SizeChangedEventArgs e)
            {
                var mygrid = sender as Grid;
                if (mygrid != null)
                {
                    var starSizedColumn = mygrid.ColumnDefinitions[1];
    
                    var theSize = starSizedColumn.ActualWidth;
                }
            }
    

    nutzen. solltest du nen allgemeineres beispiel suchen kannst du auch die ColumnCOllection des Grid durchgehen (also über alle Columns prüfen). in Width der jeweiligen Column steht dann das "*" wenns auf auto gestellt is und könntest dan wieder über ActualWidth die aktuelle größe rausfinden.

     

    Das sollte dir weiter helfen ;)

     

    Grüße

    • Als Antwort vorgeschlagen David.Handke Montag, 9. Januar 2012 21:21
    Samstag, 7. Januar 2012 16:34
  • Danke ich werd's probieren
    • Als Antwort markiert sw72 Samstag, 7. Januar 2012 17:57
    Samstag, 7. Januar 2012 17:55