2

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

4

2 回答 2

2

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

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

于 2010-07-08T07:57:52.480 回答
1

也许这会有所帮助

我在使用 ImageBrush 和使用 CornerRadius 的边框时遇到问题。我无法让图像填充/剪辑以适应。我通过将 ImageBrush 移动到边框的内容来解决它。

这是有问题的原件:

<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>
于 2012-07-06T18:04:29.457 回答