2011-11-08 1 views
2

J'essaie actuellement de dessiner un polygone puis de le remplir avec un dégradé. Le problème est que le dégradé utilise le haut de la forme pour qu'il s'incline. Voici un peu de xaml qui va créer ce dont je parle.Comment est-ce que je peux faire le gradient de remplissage pour le polygone droit?

<Polygon Points="0,20 0,20 100,0 100,20"> 
     <Polygon.Fill> 
      <LinearGradientBrush EndPoint="1,0" StartPoint="0,1"> 
       <GradientStop Color="White" Offset="0" /> 
       <GradientStop Color="White" Offset="0.5" /> 
       <GradientStop Color="Black" Offset="0.5" /> 
      </LinearGradientBrush> 
     </Polygon.Fill> 
    </Polygon> 

Ce code est un bon exemple, car il coupera les couleurs à la barre des 50% avec du blanc à gauche et noir à droite. Vous pouvez voir que la ligne de coupure est inclinée avec le haut du triangle. Voici une image aussi au cas où vous ne pouvez pas essayer le code.

Triangle

est-il un moyen de faire en sorte que c'est une coupure verticale et non incliné?

Répondre

3

Vous aurez besoin de changer les points de début et de fin:

<... StartPoint="0,0.5" EndPoint="1,0.5" > 

translatés ci-dessus pour « commencer à la mi gauche, fin mi droit ».

En ce moment, vos points disent "commencer en haut à droite et se terminer en bas à gauche".

Par conséquent, nous devrions probablement l'échanger autour, comme ceci:

<... StartPoint="1,0.5" EndPoint="0,0.5" > 

Pour référence, et même d'autres exemples démontrant vos besoins, check here.

+0

Merci, je suis un idiot. Normalement, je ne règle pas le début et la fin du dégradé manuellement. Ici, je pense que c'est quelque chose à voir avec le triangle et j'ignore totalement que ça pourrait être le dégradé. – thecaptain0220

Questions connexes