兩個版本的差別:
其實是有本質的差別的。
之前那個版本隻能設定“文本水印”,相當有局限性。現在的版本是可以自定義水印内容的。譬如,可以為button,rectangle,ellipsed...
控件SuperTextBox的模闆,樣式都是儲存在一個叫“Generic.xaml”檔案裡面的。在第一次建立“silverlight 模闆化控件”的時候,這個檔案會自動産生。這裡将TextBox的模闆添加進入,并修改。
完整的
完整的Generic.xaml
在上面的"Generic.xaml"檔案的SuperTextBox模闆中修改新增了一下内容
新增一個UserControl,即水印内容。
取名随意,這裡為“watermarkContent”,并且綁定Content屬性為“WaterMark”
增加兩個狀态
狀态為了控制水印是否出現。其實本質是調節水印的透明度。
<a></a>
因為模闆中綁定了一個新的屬性WaterMark,是以需要在托管代碼進行注冊。并且用屬性Watermark儲存。
為了控制水印狀态需要增加一個TextChanged事件。
完整托管代碼
完整的SuperTextBox托管代碼
需加上命名空間local,local指向的是SuperTextBox所在的命名空間。
本文轉自 Ron Ngai 部落格園部落格,原文連結:http://www.cnblogs.com/rond/archive/2012/08/23/2652271.html ,如需轉載請自行聯系原作者