我一直在尝试Microsoft.Expression.Media.Effects在UIElements上创建一个MonoChromeEffect。
xmlns:e="http://schemas.microsoft.com/expression/2010/effects“
<Border.Effect>
<e: MonochromeEffect Color="Blue" />
</Border.Effect>这对任何颜色的控制都是很好的。
我的问题是在尝试应用于ImageBrush时。(在背景中添加蓝色的单一色调)。
<Border.Background >
<ImageBrush ImageSource="{Binding WaterMarkImage}"
Stretch="UniformToFill" Opacity=".34"
RenderOptions.BitmapScalingMode="HighQuality"
AlignmentX="Center" AlignmentY="Top" />
</Border.Background>这将使边界内的所有控件(例如- ListBoxItems到单蓝色)着色。
不管怎么说,是否只会影响ImageBrush -(而不是列表项)(保持它们为白色)?
发布于 2015-05-08 11:15:08
您可以使用带有图像控件的VisualBrush,而不是ImageBrush,并将效果应用于图像:
<Border.Background>
<VisualBrush>
<VisualBrush.Visual>
<Image ImageSource="{Binding WaterMarkImage}"
Stretch="UniformToFill" Opacity=".34" ...>
<Image.Effect>
<e:MonochromeEffect Color="Blue"/>
</Image.Effect>
</Image>
</VisualBrush.Visual>
</VisualBrush>
</Border.Background>https://stackoverflow.com/questions/30122085
复制相似问题