IT박스

StackPanel의 패딩?

itboxs 2020. 11. 11. 08:25
반응형

StackPanel의 패딩?


StackPanel의 패딩을 설정하려고하지만 그러한 속성이 없습니다. StackPanel.Border를 시도했지만 그러한 속성도 없습니다.

어떤 아이디어?


StackPanel 주위에 테두리를 놓고 패딩을 설정할 수 있습니다. 패딩 속성이없는 UIElement가 많기 때문에이 작업을 많이 수행합니다.

<Border Padding="10">
    <StackPanel>
        <!--...-->
    </StackPanel>
</Border>

(참고 : 모든 FrameworkElement에는 요소 간격을 지정하는 Margin 속성이 있지만 ActualWidth의 일부로 여백 너비는 포함되지 않습니다.)

StackPanel 내부에 항목의 간격을두고 싶다면 Rob이 말한 것처럼 각 자식에게 여백을 추가 할 수 있습니다.


Padding 속성이없는 StackPanel 의 자식 요소의 간격을 지정하려면 다음을 참조하십시오. StackPanel의 자식 요소의 간격을 어떻게 지정합니까?


또는 TiM과 유사한 작업을 수행 할 수 있습니다.

<Border>
    <StackPanel Margin="10">
        ...
    </StackPanel>
</Border>

대신 패널의 항목에 여백을 추가 할 수 있습니다. 동일한 결과를 얻을 수 있습니다. 뒤로 접근하면됩니다.


당신이 찾고있는 마진일까요?


이것은 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>

참고 URL : https://stackoverflow.com/questions/1303693/padding-on-stackpanel

반응형