У меня есть стиль Button
, который я разрабатывал в WPF, как указано в this question. Еще одна вещь, которую я хотел бы сделать с этим стилем, состоит в том, чтобы уменьшить размер окна Button
, чтобы он выглядел так, как будто его щелкают по клику. Сейчас код преобразования выглядит так:Стиль WPF для перевода после масштабирования
<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
масштабирует Image
, связанный с Button
, в верхнем левом углу области, где находится кнопка (то есть, она масштабируется до 0,0 координаты кнопки или, по крайней мере, это то, что я предполагаю).
Мое понимание TranslateTransform
заключается в том, что оно находится в пиксельных координатах, а не в координатах относительно размера объекта. Если я положил TranslateTransform
из 0,01, 0,01, то он переместит Button
на 0,01 пикселя как в x, так и в y, а не на 0,01 * sizeof (imagedimension) пикселей в каждом направлении. Как я могу получить это относительное преобразование и как он может произойти как стиль, т. Е. Мне не нужно делать разные математические данные для каждого другого размера Button
, который у меня есть?
, который получил это, потрясающий! – mmr