我正在寻找一个可以作为一般叠加的边框。我正在尝试使用800x480边框,不透明度.75作为叠加层。但是,它只填充它所在行的内容,而不是整个页面。如果我知道需要覆盖多少行,我可以设置rowspan,它将覆盖整个屏幕。我想知道是否有办法将其设置为覆盖所有行,而不知道有多少行。或者,如果有更好的方法来完成同样的事情。到目前为止,我提出的唯一解决方案是将rowspan设置为一个我知道我不会拥有的大数字(例如50)。
答案 0 :(得分:0)
如果未设置Grid.Row,则边框将跨越所有行。请注意,高度必须设置为“自动”,“垂直对齐”设置为“拉伸”。
示例:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<Grid.ColumnDefinitions>
<Border Grid.Column="1" Width="Auto" Height="Auto"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
Background="Red" />
</Grid>
边框位于右侧列并跨越两行。
答案 1 :(得分:0)
你是对的。分配一个大于最大行数的任意大的Grid.RowSpan。 99似乎可以接受,因为你可能会遇到网格中很多行的性能问题。
<Border Grid.Column="1" Width="Auto" Height="Auto"
Grid.RowSpan="99"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
Background="Red" />