我有一个wpf mvvm应用程序。 并拥有一个包含多列的GRID
在wpf中设置网格列的背景色的最佳方法是什么?
答案 0 :(得分:16)
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>
答案 1 :(得分:5)
一种方式:
创建一个矩形并将其填充设置为您选择的颜色 然后将其Grid.RowSpan值设置为较大的数字或行数。
答案 2 :(得分:0)
创建一个矩形并将其填充为您选择的颜色。
只有:
<Rectangle
Grid.Column="1"
Fill="#e8ebf1" />
对我有用。
之前答案的 Grid.RowSpan 实际上没用,演示的 LinearGradientBrush 对于所问的内容过于复杂。