Je voudrais redimensionner un cercle sur ma toile à l'aide d'un curseur. Ce cercle peut être déplacé sur le canevas par un glisser & drop stuff que j'ai fait dans le code, donc sa position n'est pas corrigée.WPF: Redimensionnement d'un cercle, en conservant le point central au lieu de TopLeft?
J'ai lié la valeur du curseur à la hauteur et la largeur d'une ellipse. Malheureusement, lorsque j'utilise le curseur, le cercle est redimensionné avec son point en haut à gauche (en fait le point en haut à gauche du rectangle dans lequel il est assis) restant le même pendant l'opération.
Je voudrais le redimensionner avec son centre point étant constant pendant le fonctionnement. Existe-t-il un moyen facile de le faire en XAML? BTW, j'ai déjà essayé ScaleTransform, mais il n'a pas fait ce que je voulais.
Merci beaucoup! :-)
Jan
<Canvas x:Name="MyCanvas">
<!-- this is needed for some adorner stuff I do in code behind -->
<AdornerDecorator Canvas.Left="10"
Canvas.Top="10">
<Ellipse x:Name="myEllipse"
Height="{Binding Path=Value, ElementName=mySlider}"
Width="{Binding Path=Value, ElementName=mySlider}"
Stroke="Aquamarine"
Fill="AliceBlue"
RenderTransformOrigin="0.5 0.5">
<Ellipse.RenderTransform>
<RotateTransform Angle="{Binding Path=Value, ElementName=myRotationSlider}" />
</Ellipse.RenderTransform>
</Ellipse>
</AdornerDecorator>
<Slider x:Name="mySlider"
Maximum="100"
Minimum="0"
Width="100"
Value="10"
Canvas.Left="150"
Canvas.Top="10" />
<Slider x:Name="myRotationSlider"
Maximum="360"
Minimum="0"
Width="100"
Value="0"
Canvas.Left="150"
Canvas.Top="50" />
</Canvas>
Merci pour votre réponse! Il m'a montré que ma question était incomplète ;-) La position du cercle sur la toile n'est pas fixe, c'est pourquoi je n'ai pas trouvé le moyen d'utiliser un ValueConverter ... – Jan
Attendez, cela fonctionnerait. Vous devriez avoir un convertisseur de valeur qui fait 'value/2 * -1' – Will
Salut Martin! Merci - Je vais tester cela mercredi et rendre compte :) – Jan