J'ai un style Button
que j'ai développé dans WPF, comme indiqué dans this question. Une autre chose que je voudrais faire avec ce style est d'avoir le Button
rétrécir un peu, pour le faire apparaître comme il est cliqué quand il est cliqué. À l'heure actuelle, le code de transformation ressemble à:WPF style pour effectuer la traduction après mise à l'échelle
<Trigger Property="IsPressed" Value="True">
<Setter Property="RenderTransform">
<Setter.Value>
<TransformGroup>
<ScaleTransform ScaleX="0.98" ScaleY="0.98"/>
<SkewTransform AngleX="0" AngleY="0"/>
<RotateTransform Angle="0"/>
<TranslateTransform X="0" Y="0"/>
</TransformGroup>
</Setter.Value>
</Setter>
<Setter Property="Button.BitmapEffect">
<Setter.Value>
<OuterGlowBitmapEffect GlowColor="Green" GlowSize="10"></OuterGlowBitmapEffect>
</Setter.Value>
</Setter>
</Trigger>
Alors, c'est excitant. Le problème est, le ScaleTransform
échelles le Image
associé à la Button
en haut à gauche de la zone où le bouton est (c'est-à-dire, il est en train de rééchelonner à la coordonnée 0,0 du bouton, ou du moins, c'est ce que je suppose).
Ma compréhension de la TranslateTransform
est que c'est en coordonnées de pixels, pas en coordonnées relatives à la taille de l'objet. Si je mets un TranslateTransform
de 0.01, 0.01, alors il déplacera le Button
par 0.01 pixels dans les deux x et y, plutôt que 0.01 * sizeof (imagedimension) pixels dans chaque direction. Comment puis-je obtenir cette transformation relative, et comment puis-je l'obtenir en tant que style, c'est-à-dire, donc je n'ai pas besoin de faire des calculs différents pour chaque taille différente de Button
que j'ai?
qui l'a eu, génial! – mmr