水平方向の StackPanel に 2 つのコントロールを配置して、右側の項目を StackPanel の右側にドッキングできるかどうか疑問に思っていました。
以下のことを試しましたが、うまくいきませんでした。
<StackPanel Orientation="Horizontal">
<TextBlock>Left</TextBlock>
<Button Width="30" HorizontalAlignment="Right">Right<Button>
</StackPanel>
上記のスニペットでは、Button を StackPanel の右側にドッキングしたいと考えています。
注: Grid などではなく、StackPanel を使用して実行する必要があります。
ベストアンサー1
これを実現するには、次の操作を実行しますDockPanel
。
<DockPanel Width="300">
<TextBlock>Left</TextBlock>
<Button HorizontalAlignment="Right">Right</Button>
</DockPanel>
違いは、StackPanel
子要素を1行に並べます(垂直または水平)一方、DockPanel
子要素を水平または垂直に配置できる領域を定義します。(Dock
プロパティは、同じコンテナー内の他の要素に対する要素の位置を変更します。 などの配置プロパティはHorizontalAlignment
、親要素に対する要素の位置を変更します)。
アップデート
コメントで指摘されているように、FlowDirection
aのプロパティを使用することもできますStackPanel
。@D_Besterの答え。