设置WPF标签内容Alpha透明度而不是整个控件不透明度

时间:2016-01-03 12:20:45

标签: c# wpf xaml silverlight expression-blend

我正在尝试将标签的内容设置为不可见,以便我可以将其叠加在背后的内容上。例如,控件的背景是纯色,但是文本具有alpha透明度,允许我透视整个控件(如photoshop技巧)。这样,可以使用可变背景看到动态内容。我将此模式应用于PNG文件,但是当内容需要更改时,显然不会这样做。这个问题的一个很好的例子(因为我不是很擅长)可以在这里找到......但是,当然,这是为了css。 (How to make "see through" text?)对此有任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

所以我找到了解决这个问题的方法...... 诀窍是使用 Clip 而不是OpacityMask。

首先看一下布局:

onOilButNotBig :-
   carClass(CarClass,'oil',X),
   \+(X = 'big'),
   write(CarClass).

此处红色背景的网格可用作背景图片! 它内部的边框覆盖着白色。 然后我按下了一个按钮,在按下时从边框移除我们想要的文本。

这是按钮点击事件的代码:

<Grid Background="Red">
    <Border Background="White" Name="targetImage" VerticalAlignment="Center" Height="200"/>

    <Button VerticalAlignment="Bottom" Content="render" Click="ButtonBase_OnClick"></Button>
</Grid>

它基本上是创建一个文本!然后我们需要反转面具。 反转是在 boundingRect 的帮助下完成的。

编辑:差点忘了。您可以将所有这些逻辑放在用户控件中。每次Usercontrol的Text属性发生变化时运行此代码。

玩得开心;)