zoukankan      html  css  js  c++  java
  • 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 下载。

  • 相关阅读:
    资料存储
    Django学习
    爬虫学习
    time()模块
    一些功能性小程序段
    装饰器
    函数的知识点(理解难点剖析)
    linux中的回收站机制,防止rm -rf 事件
    python--列表解析式 -- 知识整理
    python- 时间模块 datatime 知识整理
  • 原文地址:https://www.cnblogs.com/chengxingliang/p/2797501.html
Copyright © 2011-2022 走看看