转自: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] |