Assembly: PresentationCore (in PresentationCore.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
In a composite transformation, the order of individual transformations is important. For example, if you first rotate, then scale, then translate, you get a different result than if you first translate, then rotate, then scale. One reason order is significant is that transformations like rotation and scaling are done with respect to the origin of the coordinate system. Scaling an object that is centered at the origin produces a different result than scaling an object that has been moved away from the origin. Similarly, rotating an object that is centered at the origin produces a different result than rotating an object that has been moved away from the origin.
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" > <StackPanel Margin="50"> <Button RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center">Click <Button.RenderTransform> <!-- TransformGroup enables you to apply multiple transforms. In this example, the button is scaled and rotated. --> <TransformGroup> <!-- Triple the size (scale) of the button in the Y direction. --> <ScaleTransform ScaleY="3" /> <!-- Rotate the button by 45 degrees. --> <RotateTransform Angle="45" /> </TransformGroup> </Button.RenderTransform> </Button> </StackPanel> </Page>
Imports System Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Media Namespace SDKSample Partial Public Class MultipleTransformsExample Inherits Page Public Sub New() ' Create a Button that will have two transforms applied to it. Dim myButton As New Button() myButton.Content = "Click" ' Set the center point of the transforms. myButton.RenderTransformOrigin = New Point(0.5,0.5) ' Create a transform to scale the size of the button. Dim myScaleTransform As New ScaleTransform() ' Set the transform to triple the scale in the Y direction. myScaleTransform.ScaleY = 3 ' Create a transform to rotate the button Dim myRotateTransform As New RotateTransform() ' Set the rotation of the transform to 45 degrees. myRotateTransform.Angle = 45 ' Create a TransformGroup to contain the transforms ' and add the transforms to it. Dim myTransformGroup As New TransformGroup() myTransformGroup.Children.Add(myScaleTransform) myTransformGroup.Children.Add(myRotateTransform) ' Associate the transforms to the button. myButton.RenderTransform = myTransformGroup ' Create a StackPanel which will contain the Button. Dim myStackPanel As New StackPanel() myStackPanel.Margin = New Thickness(50) myStackPanel.Children.Add(myButton) Me.Content = myStackPanel End Sub End Class End Namespace