WEB开发网
开发学院图形图像Flash 学Silverlight 2系列(9):使用控件模板 阅读

学Silverlight 2系列(9):使用控件模板

 2008-10-03 11:36:28 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 概述Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,学Silverlight 2系列(9):使用控件模板,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON

本文示例源代码或素材下载

概述

Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON、Web Service、WCF以及Sockets的支持等一系列新的特性。《一步一步学Silverlight 2系列》文章带您快速进入Silverlight 2开发。

本文为系列文章第九篇,主要介绍如何使用控件模板定制控件的观感。Silverlight提供了极其强大的功能,允许用户完全定制控件的外观。

定制控件内容

在Silverlight中,WatermarkedTextBox控件可以为用户的输入提供一段提示信息,如果只是简单的一点文字信息,有时候未免显得单调,如果加上相应的图片说明效果会更好,如下图所示的一个简单的用户登录界面:

学Silverlight 2系列(9):使用控件模板

这样看起来界面显的就生动多了,XAML声明如下:

<Canvas Background="#46461F">
  <WatermarkedTextBox x:Name="UserName" Canvas.Top="30" Canvas.Left="50"
            Width="320" Height="48">
    <WatermarkedTextBox.Watermark>
      <StackPanel Width="320" Height="48" Orientation="Horizontal">
        <Image Source="admin.png" HorizontalAlignment="Left"></Image>
        <TextBlock Text="请输入用户名" VerticalAlignment="Center" Foreground="#999999"/>
      </StackPanel>
    </WatermarkedTextBox.Watermark>
  </WatermarkedTextBox>
  
  <WatermarkedTextBox x:Name="Password" Canvas.Top="110" Canvas.Left="50"
            Width="320" Height="48" HorizontalAlignment="Left">
    <WatermarkedTextBox.Watermark>
      <StackPanel Width="320" Height="48" Orientation="Horizontal">
        <Image Source="lock.png" HorizontalAlignment="Left"></Image>
        <TextBlock Text="请输入密码" VerticalAlignment="Center" Foreground="#999999"/>
      </StackPanel>
    </WatermarkedTextBox.Watermark>
  </WatermarkedTextBox>
  
  <Button Canvas.Top="180" Canvas.Left="100"
      Width="120" Height="48">
    <Button.Content>
      <StackPanel Orientation="Horizontal">
        <Image Source="apply.png" HorizontalAlignment="Left"></Image>
        <TextBlock Text="登 录" VerticalAlignment="Center" Margin="10 0 0 0"></TextBlock>
      </StackPanel>
    </Button.Content>
  </Button>
</Canvas>

很多控件都有Content或者Text属性,我们完全可以充分发挥自己的想象力去进行定制,定制后控件仍然具有原来的功能行为,如上面的示例,当输入用户名控件获得焦点时文字和图片都将消失:

1 2 3  下一页

Tags:Silverlight 系列 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接