当为WP8设置网格的不透明度时,禁用Textblock上的不透明度

时间:2014-08-06 23:52:04

标签: xaml windows-phone-8

我过去发过一个类似的问题,但从来没有完全解决过,所以我又来了。

在我的布局网格中,我有一个图像占据了整个区域,但我还显示了另一个垂直对齐底部的网格,其背景颜色设置为其不透明度设置为.5。

这部分工作正常。

现在,我想在该网格中显示另一个网格,其中包含另一个图像(徽标)和一个包含描述的TextBlock。

我的问题是图像和文本块都变暗了。虽然我对徽标变暗没有任何问题,但我确实希望我的描述完全不透明,但似乎无法做到这一点。

有没有办法实现这个目标?注意我正在尝试为WP8构建自定义磁贴。

以下是代码:

<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}">
    <Grid.RowDefinitions>
        <RowDefinition></RowDefinition>
    </Grid.RowDefinitions>
    <Image Stretch="UniformToFill"  Source="/Assets/0.jpeg" ></Image>
    <Grid Background="#0F558E" Opacity="0.5" Visibility="Visible" Height="100" VerticalAlignment="Bottom">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="100"/>
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Image Source="/Assets/Tiles/FlipCycleTileSmall.png" Width="100" Height="100" Grid.Column="0" Opacity="1" ></Image>
        <TextBlock Foreground="White" FontSize="30" Text="This is a simple description of the article" TextWrapping="Wrap" Margin="10,0,30,0" Grid.Column="1" Opacity="1" />
    </Grid>
</Grid>

感谢。

1 个答案:

答案 0 :(得分:2)

正如您所发现的那样,该网格中的所有孩子都将具有0.5不透明度,并且子项上的任何不透明度设置都将与此相关。

您是否可以将第三个网格覆盖在具有相同大小并包含图像和文本的第二个网格之上?我现在面前没有任何东西来测试这个,但是有点像:

<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}">
    <Grid.RowDefinitions>
        <RowDefinition></RowDefinition>
    </Grid.RowDefinitions>
    <Image Stretch="UniformToFill"  Source="/Assets/0.jpeg" ></Image>
    <Grid Background="#0F558E" Opacity="0.5" Visibility="Visible" Height="100" VerticalAlignment="Bottom">
    </Grid>
    <Grid Visibility="Visible" Height="100" VerticalAlignment="Bottom">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="100"/>
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Image Source="/Assets/Tiles/FlipCycleTileSmall.png" Width="100" Height="100" Grid.Column="0" Opacity="1" ></Image>
        <TextBlock Foreground="White" FontSize="30" Text="This is a simple description of the article" TextWrapping="Wrap" Margin="10,0,30,0" Grid.Column="1" Opacity="1" />
    </Grid>
</Grid>