当它在不透明度为0.5的边框内时,如何将文本框的不透明度设置为1?

时间:2012-11-28 19:49:47

标签: silverlight xaml

我有以下xaml:

<Border x:Name="baseBorder" Grid.Row="0" Grid.RowSpan="200" Canvas.ZIndex="1" Opacity="0.5" Background="Gray">
    <Border x:Name="interiorBorder" Background="White" Height="200" Width="450" Opacity="1">
        <TextBlock x:Name="txtMessage" HorizontalAlignment="Center" Width="400" TextAlignment="Center" TextWrapping="Wrap" VerticalAlignment="Center" FontSize="20" FontWeight="Bold" Foreground="Black" >
    </Border>
</Border>

我希望interiorBorder具有不透明度1,同时保持基本边框的不透明度为0.5。

上面的xaml不起作用,我在两个对象中都得到0.5不透明度。

1 个答案:

答案 0 :(得分:1)

尝试将interiorBorder作为baseBorder的兄弟而不是孩子,也许是这样的。

<Border x:Name="baseBorder" Grid.Row="0" Grid.RowSpan="200" Canvas.ZIndex="1" Opacity="0.5" />
<Border x:Name="interiorBorder" Grid.Row="0" Grid.RowSpan="200" Canvas.ZIndex="1" Opacity="1">
    <TextBlock x:Name="txtMessage" />
</Border>

我想你也想在interiorBorder上设置保证金,这样你仍然可以看到baseBorder。