有没有办法在Silverlight(不是图像)的ImageBrush上放置剪切路径?我没有从Intellisense看到它,但我想知道是否有办法做到这一点。
答案 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>