Je suis tout nouveau à Silverlight et je suis dans la partie profonde un peu au-dessus de ma tête, donc je suis probablement manquant quelque chose de vraiment évident. Je travaille sur un éditeur d'image et j'ai un bouton sur ma page principale qui est supposé faire pivoter des images ou du texte sur ma toile. Le bouton n'appelle cependant pas ma méthode de rotation. EDIT: C'est maintenant.Silverlight bouton sur la page principale, liée à la commande, n'appelant jamais la méthode
est ici tout le code que j'ai écrit en rapport avec le bouton
MainPage.xaml
<Button Command="{Binding Path=Project.RotateCWElementCommand}"..../>
Project.cs -
#region properties
public ICommand RotateCWElementCommand { get; set; }
#endregion
#region methods
public Project(int siteID)
{
this.RotateCWElementCommand = new DelegateCommand(RotateCWElement, CanRotateCWElement);
}
private void RotateCWElement(object param)
{
FrameworkElement element = this.SelectedElement;
RotateTransform cwRot = new RotateTransform();
cwRot.Angle = 90;
cwRot.CenterX = element.ActualWidth * 0.5;
cwRot.CenterY = element.ActualHeight * 0.5;
element.RenderTransform = cwRot;
}
#end region
#region Command conditions
private bool CanRotateCWElement(object param)
{
return true;
}
#endregion
Le problème est maintenant que ce ne tourne une fois et une certaine qualité d'image semble également être perdue. Les images se déplacent étrangement lorsque je les clique et les fais glisser, et parfois lorsque je clique sur la qualité d'image complète revient.
Si quelqu'un a des idées à ce sujet ce serait génial.
Quelque chose de simple et évident c'était ce qu'il semblait. Déplacé dans un stackpanel avec un datacontext de projet et cela fonctionne. Merci pour l'aide. Des idées sur la rotation unique? Cela ne fonctionne que la première fois. – Steve
@Steve La transformation est séparée de l'objet réel, de sorte que votre objet régulier est en train d'être dessiné, puis il est transformé à 90 degrés. Vous devrez probablement enregistrer l'angle actuel et l'ajuster de 90 degrés chaque fois que la commande Rotation est exécutée. – Rachel