如this question所述,我有一种Button
我一直在 WPF 中开发的风格。我想对这种风格做的另一件事是稍微缩小一点,让它看起来像被点击一样被点击。现在,转换代码如下所示:Button
<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>
所以,这很令人兴奋。问题是,与按钮所在区域左上角 相关的ScaleTransform
比例尺(即,它正在重新缩放到按钮的 0,0 坐标,或者至少,这是我假设的)。Image
Button
我的理解TranslateTransform
是它是像素坐标,而不是相对于对象大小的坐标。如果我输入TranslateTransform
0.01、0.01 的 a,那么它将Button
在 x 和 y 上移动 0.01 像素,而不是在每个方向上移动 0.01*sizeof(imagedimension) 像素。我怎样才能得到这种相对变换,我怎样才能让它作为一种风格发生,即,所以我不必为Button
我所拥有的每种不同尺寸做不同的数学运算?