winphone 边框(Border)

来源:互联网 发布:第三方支付规模数据 编辑:程序博客网 时间:2024/05/16 04:49

 转自:http://wpxap.com/thread-348860-1-1.html

边框(Border)边框(Border)控件是指在另一个对象的周围绘制边框、背景或同时绘制二者。控件的XAML语法如下:

<Border>
子控件对象
</Border>

Border控件通常会是其他控件的一个外观显示的辅助控件,它很少单独使用,一般都是配合其他控件一起来使用,从而展示出其他控件的边框效果。Border 只能包含一个子对象。如果要在多个对象周围放置一个边框,应将这些对象包装到一个容器对象中,例如StackPanel。我们可以通过设置Border控件的属性来展现出各种各样的边框效果,比如你可以通过设置 CornerRadius属性以将边框的各角改为圆角,并且可以通过设置 Padding属性以在 Border 中定位对象等等。Border控件类的一些新增的属性如表4.9所示。

4.9 Border类新增加的属性
    名称
      说明
   
    BorderBrush
      获取或设置用于创建边框的 Brush
   
    BorderThickness
      获取或设置边框的粗细。
   
    Child
      获取或设置要在其周围绘制边框的子元素。
   
    CornerRadius
      获取或设置边框的角的半径。
   
    Padding
      获取或设置边框与其子对象之间的距离。
  

下面给出边框控件的示例:演示了各种的Border样式的使用。
代码清单4-5:边框样式演示(源代码:第4\Examples_4_5

              MainPage.xaml文件主要代码
    ------------------------------------------------------------------------------------------------------------------
   

<Grid x:Name="ContentPanel" Grid.Row="1"    Margin="12,0">

                <!--
                 BorderThickness - 边框的宽度(像素值:上下左右;左右,上下;左,,,下)
                 BorderBrush - 边框的颜色
                 CornerRadius - 边框角的半径
                 -->
                <Border    Background="Coral" Margin="0,12,241,489"    Padding="10" CornerRadius="30,38,150,29"
             BorderThickness="8    15 10 2" BorderBrush="Azure"></Border>
                <Border    BorderThickness="1,3,5,7" BorderBrush="Blue"    CornerRadius="10" Width="120"    Margin="221,0,115,537">
           
                    <TextBlock Text="蓝色的Border" ToolTipService.ToolTip="这是蓝色的Border吗?" TextAlignment="Center" />
                </Border>
                <!--单击后将显示边框 -->
                <Border    x:Name="TextBorder" BorderThickness="10"  Margin="-6,143,6,356" >
                    <Border.BorderBrush>
                        <SolidColorBrush    Color="Red" Opacity="0" />
                    </Border.BorderBrush>
                    <TextBlock    MouseLeftButtonDown="TextBlock_MouseLeftButtonDown" Text="请单击一下我!" />
                </Border>
                <!--颜色渐变的边框 -->
                <Border    x:Name="brdTest" BorderThickness="4"    Width="200" Height="150"    Margin="98,257,158,200">
                    <Border.BorderBrush>
                        <LinearGradientBrush    x:Name="borderLinearGradientBrush"    MappingMode="RelativeToBoundingBox" StartPoint="0.5,0"    EndPoint="0.5,1">
                               <LinearGradientBrush.GradientStops>
                                   <GradientStop Color="Yellow" Offset="0" />
                                   <GradientStop Color="Blue" Offset="1" />
                               </LinearGradientBrush.GradientStops>
                           </LinearGradientBrush>
                    </Border.BorderBrush>
                </Border>
               </Grid>
    
    [/td]   [/tr]
                                   
             MainPage.xaml.cs文件主要代码
    ------------------------------------------------------------------------------------------------------------------
           public partial class MainPage : PhoneApplicationPage
           {
               public MainPage()
               {
                InitializeComponent();
                //动态填充brdTest里面的子元素
                Rectangle rectBlue = new    Rectangle();
                rectBlue.Width = 1000;
                rectBlue.Height = 1000;
                SolidColorBrush scBrush = new    SolidColorBrush(Colors.Blue);
                rectBlue.Fill = scBrush;
                this.brdTest.Child = rectBlue;
               }
               //单击事件,通过修改 Opacity 来实现,当用户点击文本时,出现一个文本的边框。
               private void    TextBlock_MouseLeftButtonDown(object sender,    System.Windows.Input.MouseButtonEventArgs e)
               {
                //0表示完全透明的 1表示完全显示出来
                TextBorder.BorderBrush.Opacity    = 1;
               }
           }
    
    [/td]   [/tr]