WPF边距不会累加

时间:2013-02-16 17:53:06

标签: wpf grid

我刚刚开始使用WPF,我正在尝试设置一个四行高度为150的网格。这将占用我为高度设置的800像素中的600个。然后我将我的上边距设置为30,将我的下边距设置为170,以便为底部的控件提供一些空间。

在设计视图中一切看起来都很棒,但是当我运行我的应用程序时,底行会截断一些区域。

设计视图 enter image description here

运行视图 enter image description here

我不明白造成这些观点之间差异的原因。

 <Page x:Class="EzTargetProject.HomePage"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
  mc:Ignorable="d" 
  d:DesignHeight="800" d:DesignWidth="1280"
Title="HomePage">

<Grid  Margin="20,30,20, 170" Grid.Column="4" Grid.Row="4" Background="Gray" ShowGridLines="True">
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
        <ColumnDefinition />
        <ColumnDefinition />
        <ColumnDefinition />
        <ColumnDefinition />
        <ColumnDefinition />
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="150"/>
        <RowDefinition Height="150"/>
        <RowDefinition Height="150"/>
        <RowDefinition Height="150"/>
    </Grid.RowDefinitions>

    <!-- Name -->
    <StackPanel Grid.Column="0" Grid.Row="0" Orientation="Vertical" />
</Grid>

1 个答案:

答案 0 :(得分:1)

如果要设置网格的高度,可以避免下边距。

如果你总是想要一个600px高度的网格,只需设置它。

我使用ScrollViewer作为父级让用户看到你要在网格下设置的控件(如果用户想要一个小窗口,例如): Enabling Scrollbar in WPF