silverlight中控件样式的4种方式

OK,上一讲我们讲了silverlight中的页面布局。那么当我们一个页面中存在很多个控件和元素时,我是不是每次都要给控件的样式属性赋值,这样是不是很麻烦呀?那么我们能不能像在HTML中定义一个CSS样式表,当我要用某个样式的时候,我直接引用这个样式表就可以了。OK,答案是肯定的。我们的silverlight中的样式也跟CSS样式类似,不仅如此,我们SL中所有的属性都能定义为样式。

            

在我们的silverlight中有四种样式,我们依次来看一下,首先第一个内联样式:

这个我们之前已经接触过了,我们可以通过 属性=“属性值”的这种方式,直接修改控件的样式。

这个不用多说,相信大家都已经掌握了。

好,那么下面我们看第二中修改样式的方式,叫做页面样式。

我们在HTML中定义页面样式的时候,是在<style></style>标签中,定义类,定义ID,定义标签的属性。

那么我们silverlight中也是类似的,我们的页面样式要包含在<UserControl.Resources></UserControl.Resources>这个节点中。

 

然后我们在<UserControl.Resources></UserControl.Resources>中加入<Style></Style>标签,然后我们必须给TargetType指定一个控件类型,来告诉我们的编译器我们是为哪个空间设置样式。然后我们在<Setter></Setter>中,为property和value赋值,property跟value是成对出现的,我们要想设置多个样式,我们就在<Style>标签中设置多个<Setter>。

OK,那么我们定义好页面样式后如何引用这个样式呢?下面看我操作:


我定义了一个页面样式:

 <UserControl.Resources >
        <Style TargetType="Button" >
            <Setter Property="Foreground" Value="Red" ></Setter>
        </Style>
    </UserControl.Resources>

然后我直接拖两个button过来,发现它的前景色直接变了,我这里并没有引用它啊,为什么它的颜色就变了呢?那是因为这样定义的样式是全局的一个样式,所以我托一个button过来,那么它的样式就变成我之前定义好的样式了。

有人会说,老师,这样不要,因为这样我页面上所有的button都变了,那能不能指定哪个变,哪个不变的,这个问题问的很好,下面我稍微修改下代码,给style标签里面加一个x:Key="btn" ,OK,现在可以看到上面的两个按钮已经又变回到最初的黑色了。

 

好的,那么在我们silverlight中,要想给某个控件指定样式,我们是通过Style=“{StaticResource WarnBtn}”来引用样式的,其中的WarnBtn就是你在style中设置的x:key的名字。

好的,为了验证这种说法,我现在再托一个button过来,然后给他制定样式。

 

有人会问,x:key有是个啥东西啊?这个问题问的很好,那么稍作休息,接下来为大家揭晓答案。

 

 


原文链接: http://blog.csdn.net/mypc2010/article/details/7944999

转载于:https://my.oschina.net/changpinghu/blog/92575

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值