Windows 8实用窍门系列:10.Windows 8的基本变换和矩阵变换以及AppBar应用程序栏

简介:

在Windows 8中有几种基本变换和矩阵变换和Silverlight中的使用方法都是一样。

  包括: RotateTransform:旋转变换

      ScaleTransform:缩放变换

      SkewTransform:倾斜变换

      TranslateTransform:移动变换

      TransformGroup:变换组

      MatrixTransform:矩阵变换

  这些变换的意义和使用都可以看我之前写过的两篇文章:

  Silverlight实用窍门系列:53.Silverlight中的5种基本变换RotateTransform、ScaleTransform、SkewTransform、TranslateTransform、TransformGroup

  Silverlight实用窍门系列:54.详解Silverlight中的矩阵变换MatrixTransform,实现其余各种变换

  AppBar应用程序栏是在Windows 8程序在右击程序下方或者手指从下往上滑动弹出的一个消息栏。在这个栏里可以做一些自定义的操作如:卸载程序,添加信息,搜索等操作。

  基本变换和矩阵变换

复制代码
       <!--RotateTransform变换-->
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"
               Margin="48,49,0,0" Name="image11"
        Stretch="Fill"  Width="50" Source="iPhone_001.png"  Opacity=".3"/>
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"
               Margin="48,49,0,0" Name="image1"
        Stretch="Fill"  Width="50" Source="iPhone_001.png" >
            <Image.RenderTransform>
                <RotateTransform CenterX="0" CenterY="0" Angle="45"></RotateTransform>
            </Image.RenderTransform>
        </Image>

        <!--ScaleTransform变换-->
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"
               Margin="139,49,0,0" Name="image21"
        Stretch="Fill" Width="50" Source="iPhone_002.png"  Opacity=".3"/>
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top" 
               Margin="139,49,0,0" Name="image2"
        Stretch="Fill" Width="50" Source="iPhone_002.png">
            <Image.RenderTransform>
                <ScaleTransform CenterX="0" CenterY="0" ScaleX="0.6" ScaleY="0.6"></ScaleTransform>
            </Image.RenderTransform>
        </Image>

        <!--SkewTransform变换-->
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"
               Margin="226,49,0,0" Name="image31"
        Stretch="Fill" Width="50" Source="iPhone_003.png" Opacity=".3"/>
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top" 
               Margin="226,49,0,0" Name="image3"
        Stretch="Fill" Width="50" Source="iPhone_003.png" >
            <Image.RenderTransform>
                <SkewTransform CenterX="0" CenterY="0" AngleX="45" AngleY="0"></SkewTransform>
            </Image.RenderTransform>
        </Image>

        <!--TranslateTransform变换-->
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"
               Margin="331,49,0,0" Name="image41"
        Stretch="Fill" Width="50" Source="iPhone_004.png" Opacity=".3"/>
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"
               Margin="331,49,0,0" Name="image4"
        Stretch="Fill" Width="50" Source="iPhone_004.png" >
            <Image.RenderTransform>
                <TranslateTransform X="10" Y="50"></TranslateTransform>
            </Image.RenderTransform>
        </Image>

        <!--TransformGroup变换-->
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"
               Margin="426,49,0,0" Name="image51"
        Stretch="Fill" Width="50" Source="iPhone_005.png" Opacity=".3"/>
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"
               Margin="426,49,0,0" Name="image5"
        Stretch="Fill" Width="50" Source="iPhone_005.png" >
            <Image.RenderTransform>
                <TransformGroup>
                    <ScaleTransform ScaleY="-1"/>
                    <TranslateTransform Y="100"/>
                </TransformGroup>
            </Image.RenderTransform>
        </Image>


        <!--RotateTransform变换-->
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"
               Margin="48,249,0,0" Name="image1166"
                Stretch="Fill"  Width="50" Source="iPhone_001.png"  Opacity=".3"/>
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"
               Margin="48,249,0,0" Name="image166"
                Stretch="Fill"  Width="50" Source="iPhone_001.png" >
            <Image.RenderTransform>
                <MatrixTransform Matrix="0 1 -1 0 0 0"></MatrixTransform>
            </Image.RenderTransform>
        </Image>

        <!--ScaleTransform变换-->
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"
               Margin="139,249,0,0" Name="image2166"
                Stretch="Fill" Width="50" Source="iPhone_002.png"  Opacity=".3"/>
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"
               Margin="139,249,0,0" Name="image266"
                Stretch="Fill" Width="50" Source="iPhone_002.png">
            <Image.RenderTransform>
                <MatrixTransform Matrix="0.6 0 0 0.6 0 0"></MatrixTransform>
            </Image.RenderTransform>
        </Image>

        <!--SkewTransform变换-->
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"
               Margin="226,249,0,0" Name="image3166"
                Stretch="Fill" Width="50" Source="iPhone_003.png" Opacity=".3"/>
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"
               Margin="226,249,0,0" Name="image366"
                Stretch="Fill" Width="50" Source="iPhone_003.png" >
            <Image.RenderTransform>
                <MatrixTransform Matrix="1 0 1 1 0 0"></MatrixTransform>
            </Image.RenderTransform>
        </Image>

        <!--TranslateTransform变换-->
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"
               Margin="331,249,0,0" Name="image4166"
               Stretch="Fill" Width="50" Source="iPhone_004.png" Opacity=".3"/>
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top" 
               Margin="331,249,0,0" Name="image466"
               Stretch="Fill" Width="50" Source="iPhone_004.png" >
            <Image.RenderTransform>
                <MatrixTransform Matrix="1 0 0 1 10 50"></MatrixTransform>
            </Image.RenderTransform>
        </Image>

        <!--TransformGroup变换-->
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"
               Margin="426,249,0,0" Name="image5166"
               Stretch="Fill" Width="50" Source="iPhone_005.png" Opacity=".3"/>
        <Image Height="50" HorizontalAlignment="Left" VerticalAlignment="Top" 
               Margin="426,249,0,0" Name="image566"
               Stretch="Fill" Width="50" Source="iPhone_005.png" >
            <Image.RenderTransform>
                <MatrixTransform Matrix="1 0 0 -1 0 0"></MatrixTransform>
            </Image.RenderTransform>
        </Image>
        <TextBlock HorizontalAlignment="Left" Margin="10,121,0,0" 
                   TextWrapping="Wrap" Text="采用多种方式对图片进行旋转"
                   VerticalAlignment="Top" Height="16" Width="206"/>
        <TextBlock HorizontalAlignment="Left" Margin="10,321,0,0" 
                   TextWrapping="Wrap" Text="采用MatrixTransform方式对图片进行旋转"
                   VerticalAlignment="Top" Height="16" Width="206"/>
        <TextBlock HorizontalAlignment="Left" Margin="550,271,0,0"
                   TextWrapping="Wrap" Text="" Name="tbText"
                   VerticalAlignment="Top" Width="232"/>
复制代码

  AppBar代码如下:

复制代码
    <Page.BottomAppBar>
        <AppBar>
            <Grid Background="Green" HorizontalAlignment="Left" Width="1355">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="425*">
                    </ColumnDefinition>
                    <ColumnDefinition Width="248*"/>
                </Grid.ColumnDefinitions>
                <StackPanel Orientation="Horizontal" Grid.Column="0" HorizontalAlignment="Left">
                    <Button x:Name="appBarAdd"  Content="添加" Click="appBarAdd_Click"/>
                    <Button x:Name="appBarDelete"  Content="删除" Click="appBarDelete_Click"/>
                </StackPanel>
                <StackPanel Orientation="Horizontal" Grid.Column="1" HorizontalAlignment="Right">
                    <Button x:Name="AppBarMore" Content="更多" Click="AppBarMore_Click"/>
                </StackPanel>
            </Grid>
        </AppBar>
    </Page.BottomAppBar>
复制代码
复制代码
        private void appBarAdd_Click(object sender, RoutedEventArgs e)
        {
            this.tbText.Text = "点击了添加按钮!";
        }

        private void appBarDelete_Click(object sender, RoutedEventArgs e)
        {
            this.tbText.Text = "点击了删除按钮!";
        }

        private void AppBarMore_Click(object sender, RoutedEventArgs e)
        {
            this.tbText.Text = "点击了更多按钮!";
        }
复制代码

  最后效果如下两图,并且如需源码请点击 Win8Control.rar 下载。



本文转自程兴亮博客园博客,原文链接:http://www.cnblogs.com/chengxingliang/archive/2012/12/03/2797501.html,如需转载请自行联系原作者


 

相关文章
|
20天前
|
安全 Linux iOS开发
上传 iOS 应用变得更加容易 - 在 Windows 上架 iOS APP 的工具介绍
上传 iOS 应用变得更加容易 - 在 Windows 上架 iOS APP 的工具介绍
|
1月前
|
存储 Kubernetes 安全
虚拟机测试Windows Server 2016原地升级2019,应用和数据完美保留
Windows Server 2016可以无缝升级到2019版本,确保应用程序和数据在原地升级过程中完整保留。
35 0
|
1月前
|
Linux iOS开发 Windows
windows 如何上架 ios 应用到 app store
windows 如何上架 ios 应用到 app store
|
1月前
|
消息中间件 Java Kafka
windows下kafka的环境配置及rdkafka库的应用
windows下kafka的环境配置及rdkafka库的应用
|
6月前
|
开发工具 git Windows
太阳当空照-Windows服务化方式NSSM应用
太阳当空照-Windows服务化方式NSSM应用
93 0
|
2月前
|
C# Windows
C#安装“Windows 窗体应用(.NET Framework)”
C#安装“Windows 窗体应用(.NET Framework)”
32 0
|
1月前
|
API Python Windows
python3应用windows api对后台程序窗口及桌面截图并保存的方法
python3应用windows api对后台程序窗口及桌面截图并保存的方法
50 1
|
3月前
|
TensorFlow 算法框架/工具 异构计算
YOLO实践应用之搭建开发环境(Windows系统、Python 3.8、TensorFlow2.3版本)
基于YOLO进行物体检测、对象识别,先和大家分享如何搭建开发环境,会分为CPU版本、GPU版本的两种开发环境,本文会分别详细地介绍搭建环境的过程。主要使用TensorFlow2.3、opencv-python4.4.0、Pillow、matplotlib 等依赖库。
60 0
|
4月前
|
Cloud Native Linux Go
Ghostscript 在 Linux 和 Windows 系统的应用与问题解决
Ghostscript 在 Linux 和 Windows 系统的应用与问题解决
148 0
|
4月前
|
存储 Windows 内存技术
[笔记]Windows核心编程《十五》在应用程序中使用虚拟内存
[笔记]Windows核心编程《十五》在应用程序中使用虚拟内存

相关产品

  • 云迁移中心