CompositeTransform est uniquement utilisé pour silverlight ?. Y at-il de toute façon nous pouvons l'utiliser dans WPF ou un remplacement équivalent?CompositeTransform est-il utilisé uniquement dans Silverlight?
9
A
Répondre
13
Il n'y a pas CompositeTransform
dans WPF mais il y a un TransformGroup
. Par conséquent, un remplacement équivalent est un TransformGroup
contenant ScaleTransform
, SkewTransform
, RotateTransform
et TranslateTransform
dans cet ordre.
0
est ici une solution beaucoup plus agréable si vous êtes anal sur la propreté de code:
http://www.singulink.com/CodeIndex/post/getting-rid-of-ugly-transformgroup-blocks-in-wpf
Il est facile sur les yeux et parce qu'il retourne juste un TransformGroup, vous pouvez toujours utiliser le concepteur Blend pour travailler avec animer sur la transformation!
<Rectangle Width="100" Height="100" Fill="LightGreen"
RenderTransform="{data:CompositeTransform ScaleX=2.5, ScaleY=1, SkewX=-60, Rotation=145}"
RenderTransformOrigin="0.5,0.5" />
mise en œuvre:
public class CompositeTransformExtension : MarkupExtension
{
public double CenterX
{
get { return _scale.CenterX; }
set
{
_scale.CenterX = value;
_skew.CenterX = value;
_rotate.CenterX = value;
}
}
public double CenterY
{
get { return _scale.CenterY; }
set
{
_scale.CenterY = value;
_skew.CenterY = value;
_rotate.CenterY = value;
}
}
public double ScaleX
{
get { return _scale.ScaleX; }
set { _scale.ScaleX = value; }
}
public double ScaleY
{
get { return _scale.ScaleY; }
set { _scale.ScaleY = value; }
}
public double SkewX
{
get { return _skew.AngleX; }
set { _skew.AngleX = value; }
}
public double SkewY
{
get { return _skew.AngleY; }
set { _skew.AngleY = value; }
}
public double Rotation
{
get { return _rotate.Angle; }
set { _rotate.Angle = value; }
}
public double TranslateX
{
get { return _translate.X; }
set { _translate.X = value; }
}
public double TranslateY
{
get { return _translate.Y; }
set { _translate.Y = value; }
}
private ScaleTransform _scale = new ScaleTransform();
private SkewTransform _skew = new SkewTransform();
private RotateTransform _rotate = new RotateTransform();
private TranslateTransform _translate = new TranslateTransform();
public CompositeTransformExtension()
{
}
public override object ProvideValue(IServiceProvider serviceProvider)
{
var group = new TransformGroup();
group.Children.Add(_scale);
group.Children.Add(_skew);
group.Children.Add(_rotate);
group.Children.Add(_translate);
return group;
}
}
Questions connexes
- 1. Animer CompositeTransform que l'animation indépendante (EnableDependentAnimation == false)
- 2. jquery utilisé uniquement sur codebehind boolean = true
- 3. SoapExtensions est utilisé uniquement pour ASP.NET
- 4. Le fichier .jar fonctionne uniquement lorsqu'il est utilisé dans Eclipse
- 5. Resolve la police « vraiment » utilisé pour le rendu dans Silverlight
- 6. Mettre en évidence des lignes entières uniquement dans Silverlight DataGrid
- 7. Silverlight 4 Application MVVM, modification par utilisateur, mélange uniquement?
- 8. Visual Studio est-il uniquement utilisé pour la programmation?
- 9. Phar :: webPhar() est-il uniquement utilisé avec les contrôleurs frontaux?
- 10. Web sercurity de l'intrusion (utilisé uniquement pour les services Web)
- 11. Performance SQL Alchemy si utilisé uniquement pour SQL brut?
- 12. jQuery-File-Upload utilisé uniquement pour l'interface utilisateur?
- 13. Backbone.js: Est-cid utilisé uniquement pour les modèles
- 14. JNDI est-il utilisé uniquement avec les applications webcontiner/J2EE
- 15. Limiter le panoramique uniquement à la zone de l'image visible dans Silverlight MultiScaleImage
- 16. Pouvez-vous forcer Silverlight à fonctionner uniquement hors navigateur?
- 17. Existe-t-il un moyen standard de traiter javascript utilisé uniquement dans une vue dans MVC?
- 18. AutoCompleteBox dans Silverlight 4 lié au dictionnaire - afficher uniquement les valeurs problème
- 19. Silverlight zone de texte pour accepter uniquement les décimales
- 20. Silverlight Host App affichant uniquement l'image de chargement
- 21. UIElement.Projection seulement dans Silverlight et pas dans WPF?
- 22. Get et angle défini/rotation sur l'exécution dans Silverlight
- 23. Page blanche Silverlight mais uniquement à partir d'une seule machine
- 24. silverlight (ou WPF) dependecyProperty sans backing field - wrapper uniquement
- 25. Temporisateur dans Silverlight
- 26. La référence d'assembly dans la bibliothèque de classes Silverlight et utilisée uniquement dans xaml n'est pas empaquetée dans XAP
- 27. Rectangle arrondi dans Silverlight
- 28. Puis-je créer un objet utilisé uniquement par chaque thread dans JNI?
- 29. Comment m'assurer que https est utilisé uniquement pour certains services web dans apache tomcat
- 30. Le décorateur commit_on_success doit-il être utilisé uniquement dans les vues de Django?
var Trans = (CompositeTransform) Btn_showDetail.RenderTransform; if (Trans.Rotation> 0) { VisualStateManager.GoToState (ceci, "Masquer", true); } –
pensez-vous que cela fonctionnerait si quelqu'un implémente le sien pour WPF? (ou décompiler et utiliser celui de Silverlight?) –