Практическое руководство. Применение преобразования к элементу при возникновении события
В этом примере показано, как применить ScaleTransform при наступлении определенного события. Показанный подход аналогичен тому, который используется при применении других типов преобразований. Дополнительные сведения о доступных типах преобразований см. в разделе Transform класса или Общие сведения о преобразованиях.
Преобразование можно применить к элементу любым из двух следующих способов:
В этом случае не преобразование влияло на макет, используйте RenderTransform свойство элемента.
Если вы хотите, чтобы преобразование влияло на макет, используйте LayoutTransform свойство элемента.
В следующем примере применяется ScaleTransform для RenderTransform свойства кнопки. При перемещении указателя мыши над кнопкой, ScaleX и ScaleY свойства ScaleTransform присваивается 2
, что приводит к увеличению кнопки. Когда указатель мыши покидает кнопку, ScaleX и ScaleY присваивается 1
, которое вызывает кнопки для возврата к исходному размеру.
Пример
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="WCSample.TransformExample"
WindowTitle="Transform on Mouse Enter Example">
<Canvas Width="400" Height="400">
<Button Name="Button1" MouseEnter="Enter" MouseLeave="Leave">
<Button.RenderTransform>
<ScaleTransform x:Name="myScaleTransform" ScaleX="1" ScaleY="1" />
</Button.RenderTransform>
Button
</Button>
</Canvas>
</Page>
public partial class TransformExample : Page {
private void Enter(object sender, MouseEventArgs args) {
myScaleTransform.ScaleX = 2;
myScaleTransform.ScaleY = 2;
}
private void Leave(object sender, MouseEventArgs args) {
myScaleTransform.ScaleX = 1;
myScaleTransform.ScaleY = 1;
}
}