Gewusst wie: Anwenden mehrerer Transformationen auf ein Objekt
Dieses Beispiel zeigt, wie Sie mit TransformGroup zwei oder mehr Transform-Objekte zu einem einzigen Composite Transform zusammenfassen können.
Beispiel
Im folgenden Beispiel wird eine TransformGroupScaleTransform Anwendung und eine auf RotateTransform eine Button.
<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>
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
namespace SDKSample
{
public partial class MultipleTransformsExample : Page
{
public MultipleTransformsExample()
{
// Create a Button that will have two transforms applied to it.
Button myButton = 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.
ScaleTransform myScaleTransform = new ScaleTransform();
// Set the transform to triple the scale in the Y direction.
myScaleTransform.ScaleY = 3;
// Create a transform to rotate the button
RotateTransform myRotateTransform = 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.
TransformGroup myTransformGroup = 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.
StackPanel myStackPanel = new StackPanel();
myStackPanel.Margin = new Thickness(50);
myStackPanel.Children.Add(myButton);
this.Content = myStackPanel;
}
}
}
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
Weitere Informationen
Zusammenarbeit auf GitHub
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.
.NET Desktop feedback
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für