silverlight 帶水印的TextBox

2021-09-08 23:02:39 字數 2354 閱讀 5719

在silverlight2裡面,提供了textbox的水印watermark功能。但是之後的版本就把這個功能給刪了。關於silverlight2裡面的水印功能可以參考這篇文章《一步一步學silverlight 2系列(2):基本控制項》。之後想用水印唯有自己寫乙個了。

以下是我自己寫的乙個帶水印的textbox。

除了增加乙個屬性之外,還需要增加一些儲存區別於正常狀態的屬性的全域性變數。

//

水印狀態

private brush _redcolor = new

solidcolorbrush(colors.red);

private

double _halfopacity = 0.5;//

正常狀態

private

brush _usercolor;

private

double

_useropacity;

public

string watermarktext

在textbox裡面我們可以發現這兩個事件是override標記的,所以可以過載他們。

protected

override

void

ongotfocus(routedeventargs e)

base

.ongotfocus(e);

}protected

override

void

onlostfocus(routedeventargs e)

base

.onlostfocus(e);

}

類似於初始化,先驗檢測水印是否存在,而且設定水印。這個我將**寫在sizechanged事件裡面。為什麼要寫在這裡可以參考另外一篇文章,關於控制項的生命週期的《silverlight 的控制項生命週期 - 木野狐(neil chen)》。另外要將_usercolor和_useropacity初始化。

sizechanged事件的**如下:

public

mytextbox()

void mytextbox_sizechanged(object

sender, sizechangedeventargs e)

}

using

system;

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

foreground

="blue"

watermarktext

="請輸入!"

/>

local是命名空間,是mytextbox類所在的命名空間。本機是這樣寫的:xmlns:local="clr-namespace:textboxwatermark"

未獲取焦點:

獲取焦點並輸入

好記性不如爛筆頭

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張的時間...