Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何使矩形延伸到整个网格?_.net_Wpf_Xaml - Fatal编程技术网

.net 如何使矩形延伸到整个网格?

.net 如何使矩形延伸到整个网格?,.net,wpf,xaml,.net,Wpf,Xaml,我正在构建一个小的WPF应用程序。对于应用程序中的布局,我使用两列两行的网格。我希望有一个填充整个应用程序的背景矩形,我希望背景矩形拉伸,因此如果用户调整窗口大小,矩形拉伸并始终填充整个窗口。因此,在我的网格中,我定义了一个矩形,如下所示: <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefi

我正在构建一个小的WPF应用程序。对于应用程序中的布局,我使用两列两行的网格。我希望有一个填充整个应用程序的背景矩形,我希望背景矩形拉伸,因此如果用户调整窗口大小,矩形拉伸并始终填充整个窗口。因此,在我的网格中,我定义了一个矩形,如下所示:

<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即可。谢谢!这是对我问题的极好回答。现在它完全按照我的要求工作!