在Silverlight中的ImageBrush上剪切路径

时间:2010-07-08 03:52:30

标签: silverlight imagebrush

有没有办法在Silverlight(不是图像)的ImageBrush上放置剪切路径?我没有从Intellisense看到它,但我想知道是否有办法做到这一点。

2 个答案:

答案 0 :(得分:2)

又一个不受欢迎的“不”答案。答案是:没有办法做到这一点。

如果创建这样的画笔至关重要,可能是使用WriteableBitmap。使用原始源和Clip将图像渲染到WriteableBitmap,然后将其用作ImageBrush的源。

答案 1 :(得分:1)

也许这会有所帮助

我遇到了ImageBrush和带有CornerRadius的边框的问题。我无法将图像填充/剪辑以适应。我通过将ImageBrush移动到Border的内容来解决它。

这是问题的原文:

<Border CornerRadius="0,0,4,4" BorderThickness="0">
    <Border.Background>
        <ImageBrush ImageSource="/SLTest;component/Resources/background_image.png" Opacity="1" Stretch="UniformToFill" />
    </Border.Background>
    <ListBox x:Name="lbiMesages" 
             Opacity="1" BorderThickness="0" 
             IsHitTestVisible="False" 
             ItemContainerStyle="{StaticResource ListBoxItemStyle1}"
             >

这是工作版本:

<ListBox x:Name="lbiMessages" 
     Opacity="1" BorderThickness="0" 
     IsHitTestVisible="False" 
     ItemContainerStyle="{StaticResource ListBoxItemStyle1}"
     >
     <ListBox.Template>
         <ControlTemplate>
             <Border CornerRadius="0,0,4,4" BorderThickness="0">
                 <Border.Background>
                     <ImageBrush ImageSource="/SLTest;component/Resources/background_image.png" Opacity="1" Stretch="UniformToFill" />
                 </Border.Background>
                 ...
              </Border>
         </ControlTemplate>