Laden...

Grid - Feste Row Height wird ignoriert

Erstellt von ByteDevil vor 3 Jahren Letzter Beitrag vor 3 Jahren 277 Views
ByteDevil Themenstarter:in
132 Beiträge seit 2013
vor 3 Jahren
Grid - Feste Row Height wird ignoriert

Hi,

ich habe ein seltsames Problem. Bitte fügt mal folgenden Code in ein neues WPF-Fenster ein:


<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="8"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="8"/>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>
    <TextBox Text="1234" Grid.Row="0" Grid.Column="0"/>
    <Border Grid.Row="1" Grid.Column="0" Background="Aqua"/> <!--Nur zur Visualisierung wie groß Row 1 ist-->
    <TextBox Text="1234" Grid.Row="2" Grid.Column="0"/>
    <Button Grid.Row="0" Grid.RowSpan="3" Grid.Column="2" Padding="0" Width="{Binding RelativeSource={RelativeSource Self}, Path=ActualHeight}" VerticalAlignment="Stretch">
        <Border Background="Red" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
            <StackPanel>
                <TextBlock Text="1234231312123123"/>
                <TextBlock Text="1234231312123123"/>
                <TextBlock Text="1234231312123123"/>
            </StackPanel>
        </Border>
    </Button>
</Grid>

Im Anhang ist ein Screenshot wie es bei mir aussieht. Bitte auch die Maßangaben der Rows auf der linken Seite beachten^^

Ich möchte die zwei TextBoxen in einem festen Abstand von 8 Pixeln übereinander haben. Rechts daneben soll ein quadratischer Button in einem Abstand von ebenfalls 8 Pixeln sein, dessen Höhe gleich dem beider Textboxen zusammen + deren Abstand ist. Nun wird aber die mittlere Row weit über 8 Pixeln auseinander gezogen...kann mir das wer erklären? Entferne ich den Inhalt des Buttons, ist es korrekt.

16.834 Beiträge seit 2008
vor 3 Jahren

Dir ist aber bewusst, dass WPF nicht mit "normalen" Pixeln arbeitet?
DPI and Device-Independent Pixels - Win32 apps

4.939 Beiträge seit 2008
vor 3 Jahren

Probiere mal zusätzlich MinHeight und MaxHeight bei der RowDefinition auf 8 zu setzen.

ByteDevil Themenstarter:in
132 Beiträge seit 2013
vor 3 Jahren

@Abt: Ja, es sind DIP's soweit ich weiß. Nennen wir es "Größeneinheiten"^^ Auf dem Screenshot ist aber zu sehen, dass die mittlere Row 3 mal so hoch ist wie die anderen beiden welche angeblich 19 Größeneinheiten hoch sind.

@Th69: Danke! MaxHeight hilft tatsächlich...dachte die zu setzen wäre sinnlos wenn ich doch einen festen Wert angebe.