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

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

定制控件内容

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

这样看起来界面显的就生动多了,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>

时间: 2024-08-31 01:14:09

学Silverlight 2系列(9):使用控件模板的相关文章

一步一步学Silverlight :使用样式封装控件观感

概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON.Web Service.WCF以及Sockets的支持等一系列新的特性.<一步一步学Silverlight 2系列>文章带您快速进入Silverlight 2开发. 本文为系列文章第八篇,主要介绍在Silverlight中使用Style元素封装控件观感 Silv

学Silverlight 2系列(10):使用用户控件

本文为系列文章第10篇,主要介绍Silverlight 2中的用户控件使用. 创建用户控件 在Silverlight 2中,我们可以根据开发自定义控件或者创建用户控件,以达 到控件重用的目的,添加一个新的用户控件: 编写用户控件实现代码: <Grid x:Name="LayoutRoot" Background="White"> <Rectangle HorizontalAlignment="Stretch" VerticalA

一步一步学Silverlight :使用控件模板

概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON.Web Service.WCF以及Sockets的支持等一系列新的特性.<一步一步学Silverlight 2系列>文章带您快速进入Silverlight 2开发. 本文为系列文章第九篇,主要介绍如何使用控件模板定制控件的观感.Silverlight提供了极其强

学Silverlight 2系列(18):综合实例之RSS阅读器

本文将综合前面十七篇讲过的界面布局.样式.控件模板.数据绑定.网络 通信等几个方面,来开发一个综合实例--简易RSS阅读器. 界面布局 我们最终完成的RSS阅读器界面如下: 定义一个三行两列的Grid,分别放置顶部信息.分割线和下面的内容区: <Grid.RowDefinitions> <RowDefinition Height="50"></RowDefinition> <RowDefinition Height="20"

学Silverlight 2系列(15):数据与通信之ASMX

本文将简单介绍在Silverlight 2中如何与ASMX进行通信. 简单示例 本文的示例非常简单,其过程也跟我们在一步一步学Silverlight 2系列(14 ):数据与通信之WCF中差不多,我们仍然显示一个最新随笔的列表,最终完成 后效果如下所示: 定义一个业务实体Post. public class Post { public int Id { get; set; } public string Title { get; set; } public string Author { get

学Silverlight 2系列(13):数据与通信之WebRequest

本文将简单介绍在Silverlight 2中如何使用WebRequest进行数据的提交和获 取. 简单示例 在本文中,我们仍然使用在一步一步学Silverlight 2系列(12):数据与通 信之WebClient中用过的示例,只不过稍微做一点小的改动,使用WebRequest提 交书籍编号数据,并根据书籍号返回价格信息.最终运行的结果如下图: 编写界面布局,XAML如下: <Grid Background="#46461F"> <Grid.RowDefinition

学Silverlight 2系列(5):实现简单的拖放功能

本文为系列文章第五篇,利用前面讲过的鼠标事件处理实现简单的拖放功能 . 准备XAML 在实现拖放功能中,分为三个步骤: 1.按下鼠标,触发MouseLeftButtonDown事件,选择要拖动的对象. 2.移动鼠标,触发MouseMove事件,移动选择的对象. 3.放开鼠标,触发MouseLeftButtonUp事件,停止捕捉事件. 做一个简单的界面,用一个按钮来显示拖放,如下XAML声明: <Canvas Background="#46461F"> <Button

学Silverlight 2系列(1):创建一个基本的Silverlight应用

概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来 了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON.Web Service.WCF以及Sockets的支持等一系列新的特性 .<一步一步学Silverlight 2系列>文章带您快速进入Silverlight 2开发. 本文为系列第一篇创建一个基本的Silverlight 2应用,不能免俗,从最简单 的Hell

silverlight如何访问控件模板里的控件

假设button控件应用了如下控件模板: 1.<ControlTemplate x:Key="StartActivity" TargetType="Button"> 2. <Grid Width="Auto" Height="62" Margin="0,0,0,0"> 3. <TextBlock Height="0" Margin="0,0,0,0