.net 如何使矩形延伸到整个网格?
我正在构建一个小的WPF应用程序。对于应用程序中的布局,我使用两列两行的网格。我希望有一个填充整个应用程序的背景矩形,我希望背景矩形拉伸,因此如果用户调整窗口大小,矩形拉伸并始终填充整个窗口。因此,在我的网格中,我定义了一个矩形,如下所示:.net 如何使矩形延伸到整个网格?,.net,wpf,xaml,.net,Wpf,Xaml,我正在构建一个小的WPF应用程序。对于应用程序中的布局,我使用两列两行的网格。我希望有一个填充整个应用程序的背景矩形,我希望背景矩形拉伸,因此如果用户调整窗口大小,矩形拉伸并始终填充整个窗口。因此,在我的网格中,我定义了一个矩形,如下所示: <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefi
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Rectangle x:Name="BackgroundRect" Fill="Stretch">
<Rectangle.Fill>
<RadialGradientBrush GradientOrigin="0.485,0.2" Center="0.492,0.526">
<GradientStop Color="#FF3C3C3E" Offset="1"/>
<GradientStop Color="#FF84897D"/>
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
</grid>
现在,我尝试将矩形填充设置为strech,将grid.columnspan和grid.rowspan设置为2。我尝试将矩形放置在一个视图框中。什么都不管用
有人知道如何让矩形填满整个窗口吗
先走一步 首先,在
矩形上设置网格.columnsspan=“2”
和网格.RowSpan=“2”
。如果希望它跨越整个网格,则需要执行此操作
第二,由于您的列/行定义宽度/高度设置为自动
,因此现在不会显示任何内容,因为这些列/行中没有自动调整大小的内容(可能您只是为了示例删除了它?)。您应该做的是将其中一列设置为Width=“*”
,将其中一行设置为Height=“*”
,这基本上是说:“用此列/行填充水平/垂直空间的其余部分”
第三,除非你把东西放到网格中,否则你什么也看不见,因为它没有高度。如果您只是想确保背景矩形
能够正确显示,只需给网格
一个Height=“200”
或其他东西。事实上,您在矩形上定义了两次Fill属性(一次作为属性,然后作为子元素)只是一个输入错误?请注意,面板确实有一个属性,因此,如果最终目标是在网格中设置背景,而不是对矩形执行任何其他操作,那么您只需使用RadialGradientBrush设置Grid.background即可。谢谢!这是对我问题的极好回答。现在它完全按照我的要求工作!