Wpf 边距和填充之间的差异以及边界框的贡献是什么?

Wpf 边距和填充之间的差异以及边界框的贡献是什么?,wpf,xaml,Wpf,Xaml,这张图片可以更好地解释我的问题 每个控件都有边界框,每个控件都有边距和填充。在图像中,按钮边框和边框边框之间的间隙标记为间隙-B,这是填充还是边距 两个按钮gap-A之间也有间隙,这是填充还是边距?gap A是填充,而Gab是边距 边距定义为元素和每个边框之间的间隙 填充定义为两个元素边框之间的间隙,间隙A为边距,间隙B为填充 第二个边框上的填充 第二边界上的边距 对不起,我的第一个答案有点复杂,你是说边距不是按钮边框和按钮本身之间的间隙吗?是的。内部元素的间隙是填充。外部元素的间距

这张图片可以更好地解释我的问题

每个控件都有边界框,每个控件都有边距和填充。在图像中,按钮边框和边框边框之间的间隙标记为间隙-B,这是填充还是边距


两个按钮gap-A之间也有间隙,这是填充还是边距?

gap A是填充,而Gab是边距

边距定义为元素和每个边框之间的间隙


填充定义为两个元素边框之间的间隙,间隙A为边距,间隙B为填充

第二个边框上的填充


第二边界上的边距



对不起,我的第一个答案有点复杂,你是说边距不是按钮边框和按钮本身之间的间隙吗?是的。内部元素的间隙是填充。外部元素的间距是margins,你可以考虑在网格的单元格中放置一个类似于按钮的控件。单元格边框和按钮(按钮的边界框)之间的间隙是填充,而按钮和按钮的边界框之间的间隙是边距?这让人困惑:)。cellborder和buttonBox之间的间距可以是空白或边距。您可以通过在Button中设置边距或在cellborder中设置边距来实现此间距。此接受的答案是错误的-另一个答案是正确的。
 <StackPanel>
    <Border  Height="100" Width="400" >
        <Button  Content="StackOverFlow" Background="Yellow"/>
    </Border>
    <Border Padding="20" Background="Lime"  Height="100" Width="400">
        <Button  Content="StackOverFlow" Background="Yellow"/>
    </Border>
</StackPanel>
    <StackPanel>
    <Border  Height="100" Width="400" >
        <Button  Content="StackOverFlow" Background="Yellow"/>
    </Border>
    <Border Margin="20" Background="Lime"  Height="100" Width="400">
        <Button  Content="StackOverFlow" Background="Yellow"/>
    </Border>
</StackPanel>