C# [WPF] Grid Höhe einrichten

Rooky420

Cadet 4th Year
Registriert
Nov. 2015
Beiträge
98
Hallo Community,

ich bin relativ Neu in WPF und grad so am Rumspielen aber ich habe einen Fehler den ich mir nicht erklären kann.

Ich habe folgenden XAML Code:
Code:
<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:ReleaseHelpTool" x:Class="ReleaseHelpTool.MainWindow"
        Title="MainWindow"  Width="525" MinWidth="200" Height="auto">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="auto"></RowDefinition>
            <RowDefinition Height="100"></RowDefinition>
        </Grid.RowDefinitions>
        <StackPanel HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Name="FolderStackPanel" Grid.Column="0" Grid.Row="0">
            <Canvas Width="auto" Height="100"></Canvas>
            <Canvas Width="auto" Height="100"></Canvas>
            <Canvas Width="auto" Height="100"></Canvas>
        </StackPanel>
        <Canvas Grid.Column="0" Grid.Row="1" Width="auto" Height="100"></Canvas>
    </Grid>
</Window>

Das Problem ist die Höhe der gesamten Form. Ich habe für die erste Zeile ("Row") des Grids die Höhe "auto" eingestellt. Meines Wissens nimmt er sich dann genau so viel Platz wie er braucht. Hier funktioniert es auch ich habe 3 Canvas á 100 px und die höhe beläuft sich mit auto auf 301 px.
In der 2ten Zeile des Grids habe ich eine Höhe von 100px definiert und darin wiederum ein Canvas mit der höhe 100px gelegt.

Hier das Problem:
Im Window Tag habe ich eine Höhe von "auto" definiert also sollte es die Höhe auf den verbrauchten bereich automatisch einstellen. In diesem Fall sollten es also 401px sein. Die höhe richtet sich jedoch nicht aus und im Properties Fenster von Visual Studio sehe ich eine Höhe von "Auto (535)".
Warum ist die Höhe 535px? Es sollte sich doch automatisch auf Platzbedarf verkleinern oder?

Grüße,
Rooky
 
Ich sehe unter dem Stackpanel noch einen Canvas mit 100px Höhe, macht 501px.
Und die Titelleiste fehlt auch noch.

EDIT: OK, hab das mit dem GRID nicht so ganz verstanden.
 
Zuletzt bearbeitet: (edit.)
Code:
<Window ... Height="Auto" SizeToContent="Height">
    [...]
</Window>

Bitte, gerne.

Vergiss aber nicht, dass du damit nur die Initialgröße festlegst. Um ein vernünftiges Layout für unterschiedliche Fenstergrößen kommst du damit nicht herum.
 
Zuletzt bearbeitet:
Zurück
Oben