2010-07-08 18 views

Répondre

2

Encore une autre réponse "non" impopulaire. La réponse est: il n'y a pas moyen de le faire.

Un travail possible autour si son essentiel pour créer un tel pinceau pourrait être d'utiliser un WriteableBitmap. Convertir une image en utilisant la source d'origine plus le clip sur un WriteableBitmap puis l'utiliser comme source pour un ImageBrush.

+0

Argh ... Je trouve l'homme SL être limitée. J'espérais qu'il y aurait un moyen de faire ça. –

+0

@Otaku: Limitée par rapport à quoi? Silverlight a besoin de fournir un plugin et un ensemble de bibliothèques avec une empreinte de pied raisonnable. Silverlight ne peut pas adopter la même position en ce qui concerne l'utilisation de l'UC qu'une application Windows installée peut prendre. En plus que les applications Silverlight doivent fonctionner sur Windows et Mac non modifié. Au total, quelques compromis lourds seraient nécessaires. – AnthonyWJones

+0

Limité à lui-même. Si un '' peut avoir un chemin de détourage, je ne vois pas pourquoi un '' ne peut pas en avoir un. Si c'est quelque chose de nouveau net comme faire une zone de texte enrichi (' un RTB qui était en fait tout bon'), je pourrais comprendre, mais le chemin de détourage existe déjà pour un composant extrêmement semblable. –

1

Peut-être que cela vous aidera

J'ai eu un problème avec un ImageBrush et une frontière avec un CornerRadius. Je ne pouvais pas obtenir l'image à remplir/clip pour s'adapter. J'ai résolu le problème en déplaçant ImageBrush sur le contenu de la bordure.

est ici l'original avec le problème:

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

Voici la version de travail:

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