StackPanelのパディングを設定しようとしていますが、そのようなプロパティはありません。 StackPanel.Borderを試しましたが、そのようなプロパティもありません。
何か案は?
StackPanelの周囲にBorderを配置し、その上にパディングを設定できます。パディングプロパティを持たないUIElementが多数あるため、私はこれを何度も行います。
<Border Padding="10">
<StackPanel>
<!--...-->
</StackPanel>
</Border>
(注:すべてのFrameworkElementsにはMarginプロパティがあります。このプロパティは、要素の間隔を空けますが、ActualWidthの一部としてマージン幅を含みません)。
StackPanel内の項目にスペースを配置する場合は、Robが言ったように、各子にマージンを追加します。
または、TiMのような何かをすることができます。
<Border>
<StackPanel Margin="10">
...
</StackPanel>
</Border>
stackPanelの子要素(Paddingプロパティを持たない)の間隔を空けたい場合は、 StackPanelの子要素の間隔を空けるにはどうすればよいですか?
代わりに、パネルのアイテムにマージンを追加することをお勧めします。同じ結果が得られますが、逆にアプローチするだけです。
それはあなたが探しているマージンですか?
これは、StackPanelの要素のパディングのバリアントです
<StackPanel Orientation="Horizontal" Grid.Row="2">
<StackPanel.Resources>
<Style x:Key="StackPanelPadding" TargetType="Control">
<Setter Property="Margin" Value="5,0,0,0"/>
<Setter Property="Height" Value="40"/>
</Style>
<Style BasedOn="{StaticResource StackPanelPadding}" TargetType="Button"/>
</StackPanel.Resources>
<Button/>
<Button/>
</StackPanel>