驻留在Window和Page中的Grid有不同的行为吗?
窗口的Xaml代码
<Grid ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="*"/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<Grid Grid.Row="1" ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="1">
</Button>
<Button Grid.Column="0">
</Button>
<Label Grid.Row="1" Width="50">
</Label>
<DatePicker Grid.Column="0" Grid.Row="2">
</DatePicker>
</Grid>
</Grid>
Page的Xaml代码
<Grid ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="*"/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<Grid Grid.Row="1" ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="1">
</Button>
<Button Grid.Column="0">
</Button>
<Label Grid.Row="1" Width="50">
</Label>
<DatePicker Grid.Column="0" Grid.Row="2">
</DatePicker>
</Grid>
</Grid>
这两个代码相同,但是我无法在wpf Page的网格列和行内放置控件。在wpf窗口中,它按预期工作。我在做什么错了?
答案 0 :(得分:0)
在窗口或页面内使用网格无关紧要。此外,您的代码看起来并不像在列和行中放置任何内容。大多数WPF控件通常使用Stretch作为其默认对齐方式值,因此将填充包含它们的整个单元格。
要在网格行/列单元格中定位控件,请将对齐方式设置为“ Left&Top”之类,然后使用Margin属性定位。
<Button Grid.Column="1" Grid.Row="0"
HorizontalAlignment="Left" VerticalAlignment="Top"
Margin="75,50">
</Button>