Postupy: Změna velikosti elementu
Tento příklad ukazuje, jak použít ScaleTransform ke škálování elementu.
ScaleX Pomocí a ScaleY vlastností změňte velikost prvku podle zadaného faktoru. ScaleX Například hodnota 1,5 roztáhne prvek na 150 procent původní šířky. Hodnota ScaleY 0,5 zmenší výšku prvku o 50 procent.
CenterX Pomocí vlastností CenterY určete bod, který je středem operace škálování. Ve výchozím nastavení ScaleTransform je středem v bodě (0,0), který odpovídá levému hornímu rohu obdélníku. To má vliv na přesunutí prvku a také jeho zvětšení, protože při použití objektu Transformzměníte souřadnicový prostor, ve kterém se objekt nachází.
Následující příklad používá ScaleTransform k dvojité velikosti 50-by-50 Rectangle. Má ScaleTransform hodnotu 0 (výchozí) pro obě CenterX a CenterY.
Příklad
<!-- Scales a rectangle by 200% from a center of (0,0).-->
<Rectangle Height="50" Width="50" Fill="#CCCCCCFF"
Stroke="Blue" StrokeThickness="2"
Canvas.Left="100" Canvas.Top="100">
<Rectangle.RenderTransform>
<ScaleTransform CenterX="0" CenterY="0" ScaleX="2" ScaleY="2" />
</Rectangle.RenderTransform>
</Rectangle>
Obvykle nastavíte CenterX a CenterY na střed objektu, který se škáluje: (Width/2, Height/2).
Následující příklad ukazuje další Rectangle , který se zdvojnásobí ve velikosti, ScaleTransform ale má hodnotu 25 pro obě CenterX a CenterY, která odpovídá středu obdélníku.
<!-- Scales a rectangle by 200% from a center of (25,25).-->
<Rectangle Height="50" Width="50" Fill="#CCCCCCFF"
Canvas.Left="100" Canvas.Top="100" Stroke="Blue" StrokeThickness="2">
<Rectangle.RenderTransform>
<ScaleTransform CenterX="25" CenterY="25" ScaleX="2" ScaleY="2" />
</Rectangle.RenderTransform>
</Rectangle>
Následující obrázek znázorňuje rozdíl mezi těmito dvěma ScaleTransform operacemi. Tečkovaná čára zobrazuje velikost a umístění obdélníku před měřítkem.
Dvě operace ScaleTransform s identickými hodnotami ScaleX a ScaleY, ale různými centry
Kompletní ukázku najdete v části Ukázka 2D transformací.
Viz také
.NET Desktop feedback