Windows 8技巧:Windows 8的基本变换和矩阵变换以及AppBar应用程序栏的使用

01-20

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

包括:RotateTransform:旋转变换

ScaleTransform:缩放变换

SkewTransform:倾斜变换

TranslateTransform:移动变换

TransformGroup:变换组

MatrixTransform:矩阵变换

复制代码

代码如下:

<!--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></p><p> <!--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></p><p> <!--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></p><p> <!--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></p><p> <!--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></p><p>
<!--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></p><p> <!--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></p><p> <!--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></p><p> <!--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></p><p> <!--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 = "点击了添加按钮!";
}</p><p> private void appBarDelete_Click(object sender, RoutedEventArgs e)
{
this.tbText.Text = "点击了删除按钮!";
}</p><p> private void AppBarMore_Click(object sender, RoutedEventArgs e)
{
this.tbText.Text = "点击了更多按钮!";
}

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

Windows 8技巧:Windows 8的基本变换和矩阵变换以及AppBar应用程序栏的使用

Windows 8技巧:Windows 8的基本变换和矩阵变换以及AppBar应用程序栏的使用