zoukankan      html  css  js  c++  java
  • 一起学Windows Phone7开发(十三.一 容器控件)

        在Windows Phone7中存在着多个容器控件,这些控件主要是用来界面的布局设置,以及包容多个控件时的布局设置。

    一.Grid控件:主要用于界面的布局,这个和web page里的很相似,可以通过网格布置规划界面,也可以嵌套使用。

    <Grid x:Name="ContentGrid" Grid.Row="1">

            <Grid.ColumnDefinitions>

                    <ColumnDefinition Width="159*" />

                    <ColumnDefinition Width="141*" />

                    <ColumnDefinition Width="180*" />

                </Grid.ColumnDefinitions>

                <Grid.RowDefinitions>

                    <RowDefinition Height="134*" />

                    <RowDefinition Height="133*" />

                    <RowDefinition Height="220*" />

                    <RowDefinition Height="162*" />

                </Grid.RowDefinitions>

                <Image Height="110" HorizontalAlignment="Left" Margin="20,16,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="131" Source="/MyPhoneTest;component/Images/Chrysanthemum.jpg" />

                <Image Grid.Column="1" Grid.Row="1" Height="105" HorizontalAlignment="Left" Margin="13,12,0,0" Name="image2" Stretch="Fill" VerticalAlignment="Top" Width="115" Source="/MyPhoneTest;component/Images/Desert.jpg" />

                <Image Grid.Column="2" Grid.Row="2" Height="150" HorizontalAlignment="Left" Margin="14,51,0,0" Name="image3" Stretch="Fill" VerticalAlignment="Top" Width="154" Source="/MyPhoneTest;component/Images/Hydrangeas.jpg" />

            </Grid>

        </Grid>

     

    二.Canvas控件:  容器、布局控件,主要是用绝对坐标来定位子控件。对于游戏开发来说用处很大。

    <Canvas x:Name="C1"  Grid.Row="2">

    <CheckBox x:Name="CheckBox3" Content="CheckBox3" Canvas.Top="50" Canvas.Left="100" Canvas.ZIndex="1" />

    </Canvas>

    也可以用代码来控制:

                       Canvas.SetLeft();

                Canvas.SetTop();

                Canvas.SetZIndex();//控制子控件在Z轴上的顺序。

    三.StackPanel控件:容器、布局控件,主要用来多个子控件的纵向、横向的布局控制。

    <StackPanel Orientation="Horizontal" Width="400" Height="200">

        <Image Source="Chrysanthemum.jpg" Height="200" Width="200" />

         <StackPanel Orientation="Vertical" Width="200">

                                <TextBlock Text="Test1" FontSize="30"/>

                                <TextBlock Text="Test2" FontSize="30"/>

                                <TextBlock Text="Test3" FontSize="30"/>

         </StackPanel>

    </StackPanel>

     

     四.Border控件: 用于包容一个控件并为其绘制边框,并且通过参数设置可以产生多种不同的边框效果。(不太应该算为容器控件,但是又觉得放在别的类里又不是很合适。)

    <Border  x:Name="b2" Width="200" Height="200"  BorderBrush="Aquamarine" BorderThickness="10"  Margin="150,103,130,346"  />

    <Border  x:Name="b1" Width="200" Height="200"  Background="Gold" BorderBrush="Aquamarine" BorderThickness="10, 5, 20, 40"  Margin="150,369,130,80"  CornerRadius="25, 200, 10, 15" >

    <TextBox Height="67" Name="textBox1" Text="Test Border" Background="Gold"  Foreground="White" BorderBrush="Gold" Width="170"  VerticalAlignment="Bottom"/>

    </Border>

    BorderThickness:边框宽度,设置不同的值使四个边产生不同的宽度。

    CornerRadius:边角半径,设置不同的值四个边角产生不同的弧度。

    如果要在一个边框控件里放多个控件的话,就需要先将多个控件放到一个容器类控件里,然后再把容器控件放到边框控件里。

    <Border  x:Name="b2" BorderBrush="Aquamarine" BorderThickness="10"  Margin="84,123,80,220">

          <Canvas Height="279" Name="canvas1" Width="289">

     <Image Canvas.Left="140" Canvas.Top="151" Height="101" Name="image3" Stretch="Fill" Width="123" Source="/MyPhoneTest;component/Images/Hydrangeas.jpg" />

              <Image Canvas.Left="73" Canvas.Top="74" Height="101" Name="image2" Stretch="Fill" Width="123" Source="/MyPhoneTest;component/Images/Desert.jpg" />

              <Image Canvas.Left="21" Canvas.Top="21" Height="101" Name="image1" Stretch="Fill" Width="123" Source="/MyPhoneTest;component/Images/Chrysanthemum.jpg" />

          </Canvas>

    </Border>

     五.PopUp控件:严格来讲这个不应该算作容器控件,但是它可以把包含在其中的控件显示在当前页的最前面。可以用来制作自定义的MessageBox、WaitingBox等。

    <Popup Grid.Row="1" HorizontalAlignment="Left" Margin="109,172,0,0" Name="popup1" VerticalAlignment="Top" Height="250" Width="250" IsOpen="True" Opened="popup1_Opened">

    <Canvas Width="250" Height="250"  Background="Red" VerticalAlignment="Center" HorizontalAlignment="Center">

            <TextBlock Margin="90,120,0,0" Text="请等待......"/>

     </Canvas>

        </Popup>

     

    六.ScrollView:  滚动查看器控件,也算是一个容器控件,它可以用来拖动显示其所包含的控件的内容。

    <ScrollViewer Grid.Row="1" Height="293" HorizontalAlignment="Left" Margin="75,112,0,0" Name="scrollViewer1" VerticalAlignment="Top" Width="279" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" >

       <Image Source="Images/Hydrangeas.jpg" Height="779" Width="1036" />

    </ScrollViewer>

    HorizontalScrollBarVisibility/ VerticalScrollBarVisibility:水平/垂直滚动条状态。

  • 相关阅读:
    [Oracle]跨越 DBLINK 访问表时,数据缓存在何处的Data Buffer 中?
    [Oracle]查看数据是否被移入 DataBuffer 的方法
    [Oracle]如何为数据库设置Event(eg: ORA-00235)
    [Oracle][Corruption]究竟哪些检查影响到 V$DATABASE_BLOCK_CORRUPTION
    [Oracle]OpenVMS 运行 Oracle 时的推荐值
    [Oracle]System 表空间的文件丢失
    [Oracle]如果误删了某个数据文件,又没有被备份,能否恢复?
    OFS环境,删除Resource 时出现错误失败,应该如何继续
    基于酷Q的工作秘书机器人
    C++编写简单的俄罗斯方块游戏
  • 原文地址:https://www.cnblogs.com/randylee/p/1785851.html
Copyright © 2011-2022 走看看