• WP7备注(16)(Transform)


    基本变化实例:

    常用Transform的演示

    <TextBlock>
    <TextBlock.RenderTransform>
    <ScaleTransform ScaleX="2" ScaleY="3" />
    </TextBlock.RenderTransform>
    </TextBlock>
    <TextBlock Text="Transform Experiment"
    HorizontalAlignment="Center"
    VerticalAlignment="Center">
    <TextBlock.RenderTransform>
    <TransformGroup>
    <ScaleTransform ScaleX="1" ScaleY="1"
    CenterX="0" CenterY="0" />
    <SkewTransform AngleX="0" AngleY="0"
    CenterX="0" CenterY="0" />
    <RotateTransform Angle="0"
    CenterX="0" CenterY="0" />
    <TranslateTransform X="0" Y="0" />
    </TransformGroup>
    </TextBlock.RenderTransform>
    </TextBlock>

    CompositeTransform的使用:

    CompositeTransform提供了一种在Code中进行手动添加变换的支持:

    <TextBlock Name="txtblk">
    <TextBlock.RenderTransform>
    <CompositeTransform />
    </TextBlock.RenderTransform>
    </TextBlock>
    CompositeTransform xform = txtblk.RenderTransform as CompositeTransform;
    xform.CenterX = textSize.Height / 2;
    xform.CenterY = textSize.Height / 2;
    xform.ScaleX = scale;
    xform.ScaleY = scale;
    xform.Rotation = angle - 90;
    xform.TranslateX = gridCenter.X - textSize.Height / 2;
    xform.TranslateY = gridCenter.Y - textSize.Height / 2;

    同时程序也提供了一种和程序帧一起同步更新变换的方式:

    CompositionTarget.Rendering += OnCompositionTargetRendering;
    
    void OnCompositionTargetRendering(object sender, EventArgs args)
    {
    TimeSpan renderingTime = (args as RenderingEventArgs).RenderingTime;
    //更新变换属性
    }
  • 相关阅读:
    字典序(摘)
    N
    Y
    B
    购物网站和秒杀系统实现技术
    行测技巧:十字交叉法解决比值混合问题
    数学符号读法大全
    搜狐畅游编程题
    sql删除重复记录
    'for' loop initial declarations are only allo
  • 原文地址:https://www.cnblogs.com/otomii/p/2031724.html
Copyright © 2020-2023  润新知