wpf - WPF 网格中子控件之间的间距

标签 wpf layout grid

我有一组想要在 WPF 窗口上显示的键/值对。我使用网格将它们布局如下:

<Grid Margin="4">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>

    <Label Grid.Row="0" Grid.Column="0">Code</Label>
    <TextBox Grid.Row="0" Grid.Column="1" Text="{Binding Code}"/>

    <Label Grid.Row="1" Grid.Column="0">Name</Label>
    <TextBox Grid.Row="1" Grid.Column="1" Text="{Binding Name}"/>
</Grid>

但是,当我显示此内容时,文本框被挤压,其顶部和底部边框接触上方/下方的文本框。在此布局中向行添加垂直空间的最佳方法是什么?

最佳答案

最简单的方法是在各个控件上设置边距。将其设置在文本框上应该就足够了,因为一旦它们间隔开,标签将垂直设置在每行的中心,并且无论如何都有足够的空间。

您可以使用样式设置一次:

<Grid Margin="4">
    <Grid.Resources>
        <Style TargetType="{x:Type TextBox}">
            <Setter Property="Margin" Value="0,0,0,4" />
        </Style>
    </Grid.Resources>

    ...
</Grid>

这将在网格内任何文本框的底部添加 4 像素边距。

关于wpf - WPF 网格中子控件之间的间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/895909/

相关文章:

c# - Thread.CurrentPrincipal.Identity.Name 在 WPF 中为空

layout - 我们应该使用 CSS 框架吗?他们值得吗?

javascript - Kendo 网格列标题

css - 你能把按钮居中吗?

matlab - 如何在 Matlab 中绘制 3D 网格(立方体)

c# - WPF 绑定(bind)到 contentcontrol.child 调用了两次

c# - WPF 绑定(bind)到变量/DependencyProperty

c# - 使用 WPF 应用程序替换桌面

jquery - 水平滚动布局左/右: jQuery/CSS quiz

html - 如何使用不显示空格的 CSS 对齐 HTML 中的元素(部分与标题)