代码改变世界

Silverlight之Button控件简单自定义

2011-02-20 08:28  王祖康  阅读(2061)  评论(1编辑  收藏  举报

Silverlight给我们提供的控件数量是非常有限的,不能够满足我们在实践项目中开发需求。所以我们就需要通过自定义控件的方式来解决这个问题。

一:Silverlight控件应用样式。

我们大家都知道,我们可以通过使用属性语法来设置UI对象。这种方法能够有效地使对象外观发生浅层次的改变,但是我们可以想象如果我们在一个应用程序中需要大量相同的元素,我们还是采用这种办法去定义,那么就会显得笨拙,繁琐,还增加了代码量。为此,我们还有一种比较方便的方法,就是通过控件的通用属性集中到一起,统一添加到样式资源内。当我们在项目中在遇到相同类型的对象时,只需要通过标记扩展语法将其Style属性指定为资源名称即可。

下面我们通过一个很简单的Demo来说明如何设置应用样式吧!

第一步:我们通过VS建立一个Silverlight的项目。打开App.xaml。

第二步:在App.xaml中,我们需要添加如下代码:

              <Application.Resources>

        <Style TargetType="Button" x:Key="ButtonStytle">

            <Setter Property="Background" Value="Red"/>

            <Setter Property="Height" Value="50" />

            <Setter Property="Width" Value="100" />

            <Setter Property="Margin" Value="10" />

            <Setter Property="HorizontalAlignment" Value="Center" />

            <Setter Property="VerticalAlignment" Value="Center" />

            <Setter Property="Cursor"  Value="Hand" />

            <Setter Property="FontSize" Value="16"/>

        </Style>

    </Application.Resources>

在这段代码中我们需要注意的是Style标记中的TargetType和x:Key属性。其中TargetType属性指定了当前应用样式类型为Button。x:Key属性定义了样式名称,需要注意的是控件正式通过该名称引用标记内的代码的。Setter标记内对默认背景颜色,前景色,默认高度,宽度等属性进行赋值。

第三步:完成了前两个步骤,然后我们在用户界面中应用我们设置的样式。代码如下:

              <Button Content="ButtonStyle" Style="{StaticResource ButtonStytle}"/>

效果图如下:

 

鼠标放到按钮上后: