UIElement.OpacityMask属性:MSDN获取或设置不透明蒙板,为应用于会屏蔽此元素呈现的目录中的所有Alpha通道的Brush实现。<Button FontSize="14" FontWeight="Bold" Width="100" Height="25" Content="熊俊">
<Button.OpacityMask>
<SolidColorBrush Color="Red" />
</Button.OpacityMask>
</Button>OpacityMask属性,设置透明的吧,透明度怎么设置呢?还有,它怎么体现出元素一部分透明、一部分不透明呢?
<Button.OpacityMask>
<SolidColorBrush Color="Red" />
</Button.OpacityMask>
</Button>OpacityMask属性,设置透明的吧,透明度怎么设置呢?还有,它怎么体现出元素一部分透明、一部分不透明呢?
<GradientBrush ...>
<GradientStop Color="#00000000" />
<GradientStop Color="#FF000000" />
</GradientBrush>
就是会根据这个OpacityMask设置的alpha值来改变背景的alpha。你用渐变画笔就可以设置不同区域不同的alpha值。
OpacityMask可以用一张图片来作为设置,以那张图片的alpha来设置整个背景的各个区域的alpha,可以做出一些不规则的形状背景来.而且背景的话,一般WPF里都是用统一的样式的,那么如果你想改变一下某个特定窗口或控件的背景比如按你说的想设置一部分透明一部分不透明,难道你还要再去写一个样式么?
<Ellipse.Fill>
<RadialGradientBrush RadiusX="1" RadiusY="1" GradientOrigin="0.7,0.3">
<GradientStop Color="Red" Offset="0" />
<GradientStop Color="#20750542" Offset="1" /> //半透明
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>上面的代码,就是向外面越来越透明的吧,Color="#20750542"就已经指示了透明了。哪里用得上OpacityMask啊?
<Ellipse Stroke="Black" Height="200" Width="200" Margin="170,89,0,62" HorizontalAlignment="Left">
<Ellipse.Fill>
<RadialGradientBrush RadiusX="1" RadiusY="1" GradientOrigin="0.7,0.3">
<GradientStop Color="Red" Offset="0" />
<GradientStop Color="#20750542" Offset="1" /> //半透明
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>上面的代码,就是向外面越来越透明的吧,Color="#20750542"就已经指示了透明了。哪里用得上OpacityMask啊?Image呢。有Fill属性吗?