176 Stimmen

Ausrichten von Elementen in einer Stapeltafel?

Ich habe mich gefragt, ob ich 2 Steuerelemente in einem horizontal orientierten StackPanel haben kann, so dass das rechte Element an der rechten Seite des StackPanels angedockt werden sollte.

Ich habe das Folgende versucht, aber es hat nicht funktioniert:

<StackPanel Orientation="Horizontal">
    <TextBlock>Left</TextBlock>
    <Button Width="30" HorizontalAlignment="Right">Right<Button>
</StackPanel>

Im obigen Schnipsel soll die Schaltfläche an der rechten Seite des StackPanels angedockt werden.

Hinweis: Ich brauche es, um mit StackPanel, nicht Grid usw. getan werden.

5voto

Attif Punkte 1138
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <TextBlock Text="Left"  />
    <Button Width="30" Grid.Column="1" >Right</Button>
</Grid>

1voto

Wenn Sie ein Problem haben, wie ich es hatte, bei dem die Beschriftungen in meinem vertikalen Stapelpanel zentriert waren, stellen Sie sicher, dass Sie Steuerelemente in voller Breite verwenden. Löschen Sie die Eigenschaft Width, oder legen Sie Ihre Schaltfläche in einem Container mit voller Breite, die interne Ausrichtung ermöglicht. WPF ist alles über die Verwendung von Containern, um das Layout zu steuern.

<StackPanel Orientation="Vertical">
    <TextBlock>Left</TextBlock>
    <DockPanel>
        <Button HorizontalAlignment="Right">Right</Button>
    </DockPanel>
</StackPanel>

Vertikales StackPanel mit linker Beschriftung gefolgt von einer rechten Schaltfläche

Ich hoffe, das hilft.

0voto

Ahmed.Net Punkte 1

Für Windows 10 verwenden Sie relativePanel anstelle von stack panel, und verwenden Sie

relativepanel.alignrightwithpanel="true"

für die enthaltenen Elemente.

-9voto

Vielleicht ist das nicht das Richtige für Sie, wenn Sie die harte Kodierung von Größenwerten vermeiden wollen, aber manchmal verwende ich dafür einen "Shim" (Separator):

<Separator Width="42"></Separator>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X