2015-05-08 55 views
0

我一直在嘗試使用Microsoft.Expression.Media.Effects在UIElements上創建MonoChromeEffect。Border.Background Effect

的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到單藍色)。

反正是有隻隻影響圖像刷 - (不是列表項 - ?(讓他們白)

回答

0

您可以使用VisualBrush與圖像控件,而不是一個圖像刷和應用效果的圖像:

<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>