Laden...

[WPF] StackPanel soll an Expander "kleben"

Erstellt von markus111 vor 15 Jahren Letzter Beitrag vor 15 Jahren 2.414 Views
markus111 Themenstarter:in
479 Beiträge seit 2008
vor 15 Jahren
[WPF] StackPanel soll an Expander "kleben"

Hallo,

ich habe mich grade mal ein bisschen mit WPF befasst.
Ich hab jetzt ein problem: Wenn ich meinen Expander (s. unten) ausklappe, soll das StackPanel mit nach unten rutschen, und wenn ich es wieder einklappe mit hoch kommen.

Hier mein XAML-Code:

        <Expander Header="Optionen" Height="Auto" Margin="0,28,0,0" Name="expander1" VerticalAlignment="Top" BorderBrush="Gray" Background="LightGray" IsExpanded="False" ExpandDirection="Down">
            <Grid>
                <Button HorizontalAlignment="Left" Margin="6,6,0,6" Name="button1" Width="75" Height="23" VerticalAlignment="Top">Button</Button>
                <Button HorizontalAlignment="Left" Margin="87,6,0,6" Name="button2" Width="75" Height="23" VerticalAlignment="Top">Button</Button>
                <Button HorizontalAlignment="Left" Margin="168,6,0,6" Name="button3" Width="75">Button</Button>
            </Grid>
        </Expander>
        <StackPanel Margin="0,92,2,186" Name="StackPanel_RaceInfo" Orientation="Vertical" ClipToBounds="False" SnapsToDevicePixels="False">
            <Label Height="28" Name="Label_CarName" Width="Auto" HorizontalAlignment="Center" VerticalAlignment="Top" Padding="5">Autoname</Label>
            <Label Height="Auto" Name="label4" Width="Auto" HorizontalAlignment="Center" FontSize="10" Padding="0">Runde</Label>
            <Label Height="Auto" Name="label1" Width="Auto" HorizontalAlignment="Center" FontSize="24" Padding="0">1/10</Label>
            <Label Height="Auto" Name="label2" Width="Auto" HorizontalAlignment="Center" FontSize="10" Padding="0">Rundenzeit</Label>
            <Label Height="Auto" Name="label3" Width="Auto" HorizontalAlignment="Center" FontSize="24" Padding="0">00:00.000</Label>
            <Label Height="Auto" Name="label5" Width="Auto" HorizontalAlignment="Center" FontSize="10" Padding="0">Gesamtzeit</Label>
            <Label Height="Auto" Name="label6" Width="Auto" Padding="0" HorizontalAlignment="Center" FontSize="24">00:00.000</Label>
        </StackPanel>

Welche Eigenschaft muss ich dafür nun setzten!?

mfg.
markus111

[Follow me on Twitter](http://twitter.com/blendingsky)
946 Beiträge seit 2008
vor 15 Jahren

Steck den Expander doch mit in das Stackpanel.

Ausserdem würde ich generell für solche Sachen einen TextBlock nehmen.
Ein Label ist in WPF für Anzeigesachen unüblich

Zusätzlich kannst du das auch noch über Resourcen lösen.

<StackPanel>
    <StackPanel.Resources>
        <Style x:Key="{x:Type TextBlock}">
            <Setter Property="TextBlock.HorizontalAlignment" Value="Center"/>
            <Setter Property="TextBlock.Padding"             Value="0"     />
        </Style>
    </StackPanel.Resources>
    <Expander Header="Optionen" Margin="0,28,0,0" BorderBrush="Gray" Background="LightGray">
        <StackPanel Orientation="Horizontal">
            <StackPanel.Resources>
                <Style x:Key="{x:Type Button}">
                    <Setter Property="Button.Margin" Value="6" />
                    <Setter Property="Button.Height" Value="23"/>
                    <Setter Property="Button.Width"  Value="75"/>
                </Style>
            </StackPanel.Resources>
            <Button Content="Button"/>
            <Button Content="Button"/>
            <Button Content="Button"/>
        </StackPanel>
    </Expander>
    <TextBlock Name="tbCarName"   Height="28"   Text="Autoname" Padding="5"/>
    <TextBlock                    FontSize="10" Text="Runde"               />
    <TextBlock Name="tbRound"     FontSize="24" Text="1/10"                />
    <TextBlock                    FontSize="10" Text="Rundenzeit"          />
    <TextBlock Name="tbRoundTime" FontSize="24" Text="00:00.000"           />
    <TextBlock                    FontSize="10" Text="Gesamtzeit"          />
    <TextBlock Name="tbAllTime"   FontSize="24" Text="00:00.000"           />
</StackPanel>

Die tausend Edits: XAML-Code in eine ansehnliche Form gebracht.

mfg
SeeQuark

markus111 Themenstarter:in
479 Beiträge seit 2008
vor 15 Jahren

Ahja! Funktioniert bestens! Danke SeeQuark!

mfg.
markus111

[Follow me on Twitter](http://twitter.com/blendingsky)