happmaoo 发表于 2013-1-29 11:27:05

Silverlight的文字输入功能

<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog01.html" frameborder="0" width="728" scrolling="no" height="90"></iframe><div class="postText">


  众所周知,在目前这个阶段,Silverlight并没有所谓的TextBox控件可以输入文字,因此,想要在Silverlight当中输入文字必须使用ASP.NET的TextBox控件来充当文字的输入功能。
  这部份该如何作呢?这就要讨论到Xaml控件的WindowsLess属性了,其实该属性是Xaml控件当中相当重要的属性之一,它让ASP.NET的控件与Silverlight之间可以彼此合作,例如下图这样的状况:
http://p.blog.csdn.net/images/p_blog_csdn_net/dotnetWalker/1.gif

  上图中的文字输入功能,其实并非是Silverlight所提供的,如您所知,Silverlight目前并没有所谓的控件,因此也没有办法直接输入文字,但是我们可以和ASP.NET的TextBox控件加以配合,让Silverlight模拟出输入的功能。
  其实设计的方式很简单,我们只需要通过Blend2把外框先绘制好:
http://p.blog.csdn.net/images/p_blog_csdn_net/dotnetWalker/2.gif
  接着把xaml code引用至Xaml控件中,然后关键的部份来了,请务必把Xaml控件的WindowsLess属性设为True,同时在Xaml控件上“叠上”TextBox对象(注意要把TextBox的Style设为position: absolute且将ZIndex设为大于Xaml控件,并通过“样式”功能,把TextBox的边框消除:
http://p.blog.csdn.net/images/p_blog_csdn_net/dotnetWalker/3.gif
  完成后,其HTML代码如下:
http://p.blog.csdn.net/images/p_blog_csdn_net/dotnetWalker/4.gif
  请注意,这个技巧在设计RIA时相当常见,读者可参考书附光盘中的范例“SilverlightStudyHostCom\Demo\AniBackground\Default.aspx”来了解设计的方式。
  我们未来会介绍如何通过这样的方式,让使用者在Silverlight界面上输入文字,并通过AJAX技术传递给后端的ASP.NET程序。
资料来源: Silverlight权威讲座--ASP.NET整合秘技与独家案例剖析(董大伟 - 旗标)


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1844438
页: [1]
查看完整版本: Silverlight的文字输入功能