自定义Silverlight扩展器控件开发指南
1. 依赖属性定义
首先,我们定义一个依赖属性CornerRadiusProperty,用于设置扩展器的圆角半径。代码如下:
public static readonly DependencyProperty CornerRadiusProperty = DependencyProperty.Register("CornerRadius", typeof(CornerRadius), typeof(Expander), null); public CornerRadius CornerRadius { get { return (CornerRadius)GetValue(CornerRadiusProperty); } set { SetValue(CornerRadiusProperty, value); } }2. 添加默认样式
自定义控件开发中存在一个先有鸡还是先有蛋的问题:编写控件类代码时需要考虑控件模板类型,但创建控件模板又需要了解控件的工作方式。解决方案是同时构建控件类和默认控件模板。
控件类可以放在Silverlight类库的任何代码文件模板中,而控件模板必须放在名为generic.xaml的文件中。若类库包含多个控件,所有默认模板都要放在同一个generic.xaml文件里。添加该文件的步骤如下:
1. 在解决方案资源管理器中右键单击类库项目,选择“添加” -> “新建文