在silverlight2裡面,提供了textbox的水印watermark功能。但是之後的版本就把這個功能給刪了。關於silverlight2裡面的水印功能可以參考這篇文章《一步一步學silverlight 2系列(2):基本控制項》。之後想用水印唯有自己寫乙個了。
以下是我自己寫的乙個帶水印的textbox。
除了增加乙個屬性之外,還需要增加一些儲存區別於正常狀態的屬性的全域性變數。
//在textbox裡面我們可以發現這兩個事件是override標記的,所以可以過載他們。水印狀態
private brush _redcolor = new
solidcolorbrush(colors.red);
private
double _halfopacity = 0.5;//
正常狀態
private
brush _usercolor;
private
double
_useropacity;
public
string watermarktext
protected類似於初始化,先驗檢測水印是否存在,而且設定水印。這個我將**寫在sizechanged事件裡面。為什麼要寫在這裡可以參考另外一篇文章,關於控制項的生命週期的《silverlight 的控制項生命週期 - 木野狐(neil chen)》。另外要將_usercolor和_useropacity初始化。override
void
ongotfocus(routedeventargs e)
base
.ongotfocus(e);
}protected
override
void
onlostfocus(routedeventargs e)
base
.onlostfocus(e);
}
sizechanged事件的**如下:
publicmytextbox()
void mytextbox_sizechanged(object
sender, sizechangedeventargs e)
}
usingsystem;
using
system.net;
using
system.windows;
using
system.windows.controls;
using
system.windows.documents;
using
system.windows.ink;
using
system.windows.input;
using
system.windows.media;
using
system.windows.media.animation;
using
system.windows.shapes;
namespace
textboxwatermark
public
mytextbox()
void mytextbox_sizechanged(object
sender, sizechangedeventargs e)
}protected
override
void
ongotfocus(routedeventargs e)
base
.ongotfocus(e);
}protected
override
void
onlostfocus(routedeventargs e)
base
.onlostfocus(e);}}
}
<local是命名空間,是mytextbox類所在的命名空間。本機是這樣寫的:xmlns:local="clr-namespace:textboxwatermark"local:mytextbox
foreground
="blue"
watermarktext
="請輸入!"
/>
未獲取焦點:
獲取焦點並輸入
好記性不如爛筆頭
silverlight 帶水印的TextBox
在silverlight2裡面,提供了textbox的水印watermark功能。但是之後的版本就把這個功能給刪了。關於silverlight2裡面的水印功能可以參考這篇文章 一步一步學silverlight 2系列 2 基本控制項 之後想用水印唯有自己寫乙個了。以下是我自己寫的乙個帶水印的text...
前端的水印新增
ext 使用需要進行定義 ext.define am.ux.watermark let watermark function setwatermark staffno,date 建立乙個畫布 let can document.createelement canvas 設定畫布的長寬 can.widt...
簡單的水印加密
標準的jpg檔案以ffd9為結束標誌,所以可以在改結束標誌後新增一定長度密文作為水印,這裡的密文通過jpg資料等間隔取樣與金鑰計算得到。該方法簡單快速,可以應用於智慧型交通中的防篡改。用畫圖軟體 光影魔術手 photoshop對加密後的影象做儲存,均能檢測出被篡改。對500萬畫素的,加密50張的時間...