前言
在Silverlight开发中,可以使用自定义上,制作控件。
准备工作
场景:要求文本框中输入值都是大写字母;
实现方式:通过自定义属性形式实现;
前期工作:新建一个“CustomControlDemo_SL”,并添加类:MyTextBox,使其继承自TextBox
自定义依赖属性
先看一下如何自动生成依赖属性的模板:在类MyTextBox中:输入“Propdp”->按两下Tab键,便可以生成定义依赖属性的模板。
有时候我们需要通过简单的属性设置便能实现文本框的格式控制,我们这里通过定义MaskType属性来实现输入控制(比如:只能输入大写字母)。实现自定义MaskType属性步骤如下:
1. 先定义一个枚举MaskType:
public enum MaskType
{
Default,
Upper,
Integer,
None
}
2. 定义MaskType属性(输入propdp,在按两下tab键)
public MaskType MaskType
{
get { return (MaskType)GetValue(MaskTypeProperty); }
set { SetValue(MaskTypeProperty, value); }
}
// Using a DependencyProperty as the backing store for MaskType. This enables animation, styling, binding, etc...
public static readonly Dependen