Border

想做一些关于WPF控件学习的记录,供以后之用。 
Border 是一个柜形边框,用来宣染其他控件的边缘。

下面看一段动画的代码,用代码分析。

<StackPanel Orientation="Vertical" HorizontalAlignment="Center">   <Border Background="#99FFFFFF" BorderBrush="#CCCCFF" BorderThickness="1"

    Margin="0,60,0,20" Padding="20" >

      <Border.Triggers>

        <EventTrigger RoutedEvent="Border.Loaded">

          <BeginStoryboard>

            <Storyboard>            

              <ThicknessAnimation

                Storyboard.TargetProperty="BorderThickness"

                Duration="0:0:1.5" FillBehavior="HoldEnd" From="1,1,1,1" To="28,14,28,14" />

            </Storyboard>

          </BeginStoryboard>

        </EventTrigger>

      </Border.Triggers>

      <TextBlock>

        This example shows how to use the ThicknessAnimation to create

        an animation on the BorderThickness property of a Border.

      </TextBlock>

</Border>

</StackPanel>

其中在<Border Background="#99FFFFFF" BorderBrush="#CCCCFF" BorderThickness="1" Margin="0,60,0,20" Padding="20" >中,Background是背景色;BorderBrush是边框的的颜色;BorderThickness是边框的宽度;Margin是边框的位置,在这个属性中有四个值,从前到后分别为到Border父容器(存放Border的控件,本例中是StackPanel)的左边距,上边距,右边距,下边距;Paddin是Border中填充的高度。

<Border.Triggers></Border.Triggers>标签中是一个触发的效果。从<EventTrigger RoutedEvent="Border.Loaded">可知Border的Loaded(加载)是触发点。触发了什么呢?在这里:<Storyboard> </Storyboard>之间是一个动画区。<ThicknessAnimation

Storyboard.TargetProperty="BorderThickness" Duration="0:0:1.5" FillBehavior="HoldEnd" From="1,1,1,1" To="28,14,28,14" />是要体现动画的关键所在,首先是对BorderThickness的值进行改变,Duration是持续的时间,是时分秒格式,当前值是1.5秒;FillBehavior是动画运行完的状态,它有两个值,“HoldEnd”和“Stop”,前者是保持运行完后的结果,后者是回到动画前的状态。Form和To的回个参数数是Border的左边框厚并,上边框厚度,右边框的厚度,下边框厚度。<TextBlock> This example shows how to use the ThicknessAnimation to create      an animation on the BorderThickness property of a Border. </TextBlock>是Border中的内容。

再看一个例子。

Xaml文件代码:

<Border Name="root" BorderThickness="2" BorderBrush="Black" Background="LightGray" Width="350" Height="350">

<Canvas>

<Button Name="btn" Canvas.Top="40" Canvas.Left="40" Background="LightSkyBlue" Height="35" Click="ChangeBG">

Click Me to change the Background Color

</Button>

<TextBlock Canvas.Top="130" Canvas.Left="40" Name="Text1">Waiting for Click!

</TextBlock>

</Canvas>

</Border>

 

CS文件代码:

void ChangeBG(object sender, System.Windows.RoutedEventArgs e)

{

 root.Background = System.Windows.Media.Brushes.LightSteelBlue;

btn.Content = "Clicked!";

Text1.Text = "The background is now LightSteelBlue";

 }

从上面的例子不难看出,这是一个在Button的Click中调用“ChangeBG”函数。首先,本例中的Border的名字为“root”,这在CS中要调用,以及Button的名字为“btn”,TextBlock的名字为“Text1”,例子中在单击Button的事件中改变Border的北景色,及Button的内容,TextBlock的内容。
本文参考MSDN组织。

转载于:https://www.cnblogs.com/axzxs2001/archive/2007/02/11/647539.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值