如何在wpf中设置网格列的背景颜色?

如何在wpf中设置网格列的背景颜色?,wpf,grid,background-color,Wpf,Grid,Background Color,我有一个wpf mvvm应用程序。 并且有一个包含多个列的网格 在wpf中设置网格列背景颜色的最佳方法是什么?单向: 创建一个矩形并将其填充设置为您选择的颜色。 然后将其Grid.RowSpan值设置为一个较大的数字或您拥有的行数。dabble125的答案非常完美,但为了给您一个示例并说明放置矩形的位置非常重要,请参见代码: <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/>

我有一个wpf mvvm应用程序。 并且有一个包含多个列的网格

在wpf中设置网格列背景颜色的最佳方法是什么?

单向:


创建一个矩形并将其填充设置为您选择的颜色。

然后将其Grid.RowSpan值设置为一个较大的数字或您拥有的行数。

dabble125的答案非常完美,但为了给您一个示例并说明放置矩形的位置非常重要,请参见代码:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>

    <!--  this is not a good place for text block.
          the text block is beneath the rectangle  
          so it would not be seen  -->
    <!--<TextBlock Grid.Column="1"  Text="Some Text"/>-->

    <Rectangle Grid.Column="1" Grid.RowSpan="1000">
        <Rectangle.Fill>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#FF83FF97" Offset="0" />
                <GradientStop Color="White" Offset="1" />
            </LinearGradientBrush>
        </Rectangle.Fill>
    </Rectangle>

    <TextBlock Grid.Column="1"  Text="Some Text"/>
</Grid>

创建一个矩形,并将其填充设置为您选择的颜色

只有:

<Rectangle
Grid.Column="1"
Fill="#e8ebf1" />

对我有用


以前答案的Grid.RowSpan实际上是无用的,而所演示的LinearGradientBrush对于所问的内容过于复杂。

它是否透明?我的意思是,我在该列中有一些值。是的,所有放置在网格单元中的内容都应该呈现在矩形的前面。您还可以在Visual Studio属性编辑器中调整矩形的透明度,并更改RGBA选择部分中的A值。或者,您可以在每列中添加一个新网格并使用其背景属性。我看不出这如何回答此页面顶部的问题,但应该这样做。请根据或删除答案。否则,它有被标记为“非答案”并被删除的风险。