2

Silverlight (画像ではなく) の ImageBrush にクリッピング パスを配置する方法はありますか? Intellisense から利用できるようには見えませんが、これを行う方法があるかどうか疑問に思っています。

4

2 に答える 2

2

さらに別の人気のない「いいえ」の答え。答えは次のとおりです。これを行う方法はありません。

このようなブラシを作成することが不可欠である場合の回避策の 1 つは、WriteableBitmap を使用することです。元のソースと Clip を使用して Image を WriteableBitmap にレンダリングし、それを ImageBrush のソースとして使用します。

于 2010-07-08T07:57:52.480 に答える
1

多分これが役立つでしょう

ImageBrush と CornerRadius を持つ Border に問題がありました。画像を塗りつぶしたり、切り取ったりすることができませんでした。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>
于 2012-07-06T18:04:29.457 に答える