



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第基于WPF實(shí)現(xiàn)驗(yàn)證碼控件一、創(chuàng)建CheckCode.xaml代碼如下
ResourceDictionary
xmlns="/winfx/2006/xaml/presentation"
xmlns:x="/winfx/2006/xaml"
xmlns:controls="clr-namespace:WPFDevelopers.Controls"
ResourceDictionary.MergedDictionaries
ResourceDictionary
Source="Basic/ControlBasic.xaml"/
/ResourceDictionary.MergedDictionaries
Style
TargetType="{x:Type
controls:CheckCode}"
BasedOn="{StaticResource
ControlBasicStyle}"
Setter
Property="Background"
Value="{x:Null}"/
Setter
Property="Width"
Value="100"/
Setter
Property="Height"
Value="40"/
Setter
Property="Cursor"
Value="Hand"/
Setter
Property="Template"
Setter.Value
ControlTemplate
TargetType="{x:Type
controls:CheckCode}"
Image
x:Name="PART_Image"
Stretch="Fill"
Source="{TemplateBinding
ImageSource}"/
/ControlTemplate
/Setter.Value
/Setter
/Style
/ResourceDictionary
二、CheckCode.cs代碼如下
using
System;
using
System.Windows;
using
System.Windows.Controls;
using
System.Windows.Input;
using
System.Windows.Media;
using
System.Windows.Media.Imaging;
namespace
WPFDevelopers.Controls
[TemplatePart(Name
=
ImageTemplateName,
Type
=
typeof(Image))]
public
class
CheckCode
:
Control
{
private
const
string
ImageTemplateName
=
"PART_Image";
private
Image
_image;
private
Size
_size
=
new
Size(70,
23);
private
const
string
strCode
=
"abcdefhkmnprstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789";
public
static
readonly
DependencyProperty
ImageSourceProperty
=
DependencyProperty.Register("ImageSource",
typeof(ImageSource),
typeof(CheckCode),new
PropertyMetadata(null));
///
summary
///
隨機(jī)生成的驗(yàn)證碼
///
/summary
public
ImageSource
ImageSource
{
get
{
return
(ImageSource)GetValue(ImageSourceProperty);
}
set
{
SetValue(ImageSourceProperty,
value);
}
}
///
summary
///
字體顏色
///
/summary
public
Brush
SizeColor
{
get
{
return
(Brush)GetValue(SizeColorProperty);
}
set
{
SetValue(SizeColorProperty,
value);
}
}
public
static
readonly
DependencyProperty
SizeColorProperty
=
DependencyProperty.Register("SizeColor",
typeof(Brush),
typeof(CheckCode),
new
PropertyMetadata(DrawingContextHelper.Brush));
public
CheckCode()
{
this.Loaded
+=
CheckCode_Loaded;
}
private
void
CheckCode_Loaded(object
sender,
RoutedEventArgs
e)
{
ImageSource
=
CreateCheckCodeImage(CreateCode(4),
(int)this.ActualWidth,
(int)this.ActualHeight);
}
public
override
void
OnApplyTemplate()
{
base.OnApplyTemplate();
_ima
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鑄造工(案例)考試試卷:鑄造工藝案例研究與實(shí)踐
- 充電樁環(huán)境保護(hù)與節(jié)能方案
- 2025年注冊(cè)結(jié)構(gòu)工程師考試建筑結(jié)構(gòu)工程綠色建筑設(shè)計(jì)規(guī)范解讀試卷
- 表面處理設(shè)備選型與配置方案
- 高速公路施工進(jìn)度管理方案
- 2025版社區(qū)食堂運(yùn)營(yíng)管理承包合同范本
- 二零二五年科技企業(yè)內(nèi)容營(yíng)銷代運(yùn)營(yíng)合同模板
- 名著《水滸傳》第61-63回助學(xué)伴讀(故事情節(jié)+章節(jié)主題+人物形象+伴讀練習(xí))
- 2025版勞動(dòng)合同終止公證服務(wù)合同
- 二零二五年智能家居門面房屋租賃合作協(xié)議
- MBA培訓(xùn)進(jìn)修協(xié)議
- 《古田會(huì)議決議》
- 公司慰問金簽收單模板
- 檔案管理學(xué)(新)課件
- (完整版)中醫(yī)傳統(tǒng)五音療法
- 金融控股公司協(xié)同模式與實(shí)務(wù)分析
- 非結(jié)構(gòu)化數(shù)據(jù)管理解決方案白皮書(版)
- 2022年安全生產(chǎn)文明施工措施費(fèi)使用計(jì)劃表(完整)
- 臨床營(yíng)養(yǎng)診療指南
- 深度學(xué)習(xí)的隨機(jī)矩陣?yán)碚撃P蚠v0.1
- T∕CTES 1007-2018 紡織用植物染料 靛藍(lán)
評(píng)論
0/150
提交評(píng)論