WP7 Rowspan全部

时间:2010-09-29 00:22:24

标签: c# silverlight windows-phone-7 border html-table

我正在寻找一个可以作为一般叠加的边框。我正在尝试使用800x480边框,不透明度.75作为叠加层。但是,它只填充它所在行的内容,而不是整个页面。如果我知道需要覆盖多少行,我可以设置rowspan,它将覆盖整个屏幕。我想知道是否有办法将其设置为覆盖所有行,而不知道有多少行。或者,如果有更好的方法来完成同样的事情。到目前为止,我提出的唯一解决方案是将rowspan设置为一个我知道我不会拥有的大数字(例如50)。

2 个答案:

答案 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" />