导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

ScaleTransform 类

2013/12/13

在二维 x-y 坐标系内缩放对象。

Namespace:  System.Windows.Media
程序集:  System.Windows(位于 System.Windows.dll 中)
XMLNS for XAML: 未映射到 xmlns。

public sealed class ScaleTransform : Transform
<ScaleTransform .../>

ScaleTransform 类型公开以下成员。

  名称说明
公共方法ScaleTransform初始化 ScaleTransform 类的新实例。
返回顶部

  名称说明
公共属性CenterX获取或设置此 ScaleTransform 的中心点的 x 坐标。
公共属性CenterY获取或设置此 ScaleTransform 的中心点的 y 坐标。
公共属性Dispatcher获取与此对象关联的 Dispatcher (从 DependencyObject 继承。)
公共属性Inverse获取此转换的逆转换(如果存在)。 (从 Transform 继承。)
公共属性ScaleX获取或设置 x 轴的缩放比例。
公共属性ScaleY获取或设置 y 轴的缩放比例。
返回顶部

  名称说明
公共方法CheckAccess确定调用线程是否可以访问此对象。 (从 DependencyObject 继承。)
公共方法ClearValue清除依赖项属性的本地值。 (从 DependencyObject 继承。)
公共方法Equals(Object)确定指定的 Object 是否等于当前的 Object (从 Object 继承。)
受保护的方法Finalize允许 Object 在垃圾回收器回收该对象之前尝试释放资源并执行其他清理操作。 (从 Object 继承。)
公共方法GetAnimationBaseValue返回为 Windows Phone 依赖项属性设置的任意基值,在动画不活动时将应用它们。 (从 DependencyObject 继承。)
公共方法GetHashCode用作特定类型的哈希函数。 (从 Object 继承。)
公共方法GetType获取当前实例的 Type (从 Object 继承。)
公共方法GetValueDependencyObject 返回依赖项属性的当前有效值。 (从 DependencyObject 继承。)
受保护的方法MemberwiseClone创建当前 Object 的浅表副本。 (从 Object 继承。)
公共方法ReadLocalValue返回依赖项属性的本地值(如果设置了本地值)。 (从 DependencyObject 继承。)
公共方法SetValueDependencyObject 设置依赖项属性的本地值。 (从 DependencyObject 继承。)
公共方法ToString返回一个字符串,它表示当前的对象。 (从 Object 继承。)
公共方法Transform转换指定的点并返回结果。 (从 GeneralTransform 继承。)
公共方法TransformBounds转换指定的边界框,并返回一个正好能容纳它的轴对齐的边界框。 (从 Transform 继承。)
公共方法TryTransform尝试转换指定的点,并返回指示转换是否成功的值。 (从 Transform 继承。)
返回顶部

  名称说明
公共字段静态成员CenterXProperty标识 CenterX 依赖项属性。
公共字段静态成员CenterYProperty标识 CenterY 依赖项属性。
公共字段静态成员ScaleXProperty标识 ScaleX 依赖项属性。
公共字段静态成员ScaleYProperty标识 ScaleY 依赖项属性。
返回顶部

使用 ScaleTransform 沿水平或垂直方向拉伸或收缩对象。ScaleX 属性指定使对象沿 x 轴拉伸或收缩的量,ScaleY 属性指定使对象沿 y 轴拉伸或收缩的量。缩放操作以 CenterXCenterY 属性指定的点为中心。

可以使用 Canvas.LeftCanvas.TopCanvas 上偏移对象的本地 0,0,但不会将此视为变换;如果是变换,该对象会保留在它自己的本地 0,0 处。

通过 TransformGroup 可以应用多个变换。可以使用 MatrixTransform 创建自定义变换。

变换可以改变应用程序中文本的显示,从而产生装饰性效果。下图显示沿 x 轴放大 150% 得到的第二行文本以及沿 Y 轴放大 150% 得到的第三行文本。

使用 ScaleTransform 的 TextBlock

Transformed text.
说明注意:

放大文本与增大文本的字号不同。字号的计算相互独立,以便提供针对不同字号的最佳分辨率。另一方面,缩放后的文本将保持原始大小的文本的比例。

下面的 XAML 示例使用 ScaleTransform 从文本原始大小对文本进行缩放。


<StackPanel>
<TextBlock
  FontFamily="Verdana"
  FontSize="32"
  FontWeight="Bold" 
  Foreground="SteelBlue"
  Text="Scaled Text" />

<!-- Scale the text width using a ScaleTransform. -->
<TextBlock
  FontFamily="Verdana"
  FontSize="32"
  FontWeight="Bold" 
  Foreground="SteelBlue"
  Text="Scaled Text">
  <TextBlock.RenderTransform>
    <ScaleTransform ScaleX="1.5" ScaleY="1.0" />
  </TextBlock.RenderTransform>
</TextBlock>

<!-- Scale the text height using a ScaleTransform. -->
<TextBlock
  FontFamily="Verdana"
  FontSize="32"
  FontWeight="Bold" 
  Foreground="SteelBlue"
  Text="Scaled Text">
  <TextBlock.RenderTransform>
    <ScaleTransform ScaleX="1.0" ScaleY="1.5" />
  </TextBlock.RenderTransform>
</TextBlock>
</StackPanel>


可以使用代码访问和操作 Transform 对象。实现这个目标的一种方法是命名 Transform,然后使用代码访问。下面的示例演示每次单击 Rectangle 时,如何增加应用于 RectangleScaleTransformScaleXScaleY 属性值。


<StackPanel>
  <Rectangle MouseLeftButtonDown="HandleMouseButtonDown"
    Width="50" Height="50" Fill="RoyalBlue">
    <Rectangle.RenderTransform>

      <!-- If you give the transform a name you can 
        access it easily from code. -->
      <ScaleTransform x:Name="myScaleTransform" />
    </Rectangle.RenderTransform>
  </Rectangle>
</StackPanel>



private void HandleMouseButtonDown(object sender, MouseButtonEventArgs e)
{
    // Increase ScaleX and ScaleY by 25%.
    myScaleTransform.ScaleX = myScaleTransform.ScaleX * 1.25;
    myScaleTransform.ScaleY = myScaleTransform.ScaleY * 1.25;
}


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

此类型的所有公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

显示:
© 2014 Microsoft