在Silverlight类库项目中创建模板化控件
来源:互联网 发布:bizhub7622 连接端口 编辑:程序博客网 时间:2024/04/20 03:42
我们通常会自定义Silverlight控件,来实现各种绚丽多彩的效果。把自定义的控件放入类库项目中,生成dll文件,使得这些控件能够在其他项目中进行重用。但是在类库项目中创建控件经常会遇到一些问题,使得在自定义控件的过程中感觉困难重重。例如我想自定义一个ListBox控件MyListBox,该控件继承于ListBox。当我们在类库项目中添加好一个类MyListBox.cs后,再想去定义该控件的模板或样式时,感觉手足无措。因为单独添加一个类并没有像添加一个用户控件那样,伴随着添加一个.xaml文件(提供给用户进行控件的显示设计);而且类库项目中没有App.xaml,不能在App.xaml中直接编写资源字典或者合并资源字典,也就不能在MyListBox.cs直接调用资源字典的样式。
可以在类库项目中添加Silverlight模板化控件来实现,添加一个模板化控件MyListBox后,项目自动添加MyListBox.cs类文件和一个包含Generic.xaml文件的文件夹(名称为Themes)。Generic.xaml是一种用于控件的特殊实现技术,通常合并 ResourceDictionary。可以在Generic.xaml中添加样式,来定义MyListBox的模板,MyListBox将自动使用Generic中的模板。但需要注意,Generic.xaml中样式的TargetType必须是MyListBox。
另外创建模板化控件经常要使用一个神器TemplateBinding,它可以将控件模板中的属性的值链接到在模板化控件上公开的某个其他属性的值。这是最厉害的地方,使用TemplateBinding,就不用像使用Binding那样为寻找一个DataContext而感觉难受,也不用去调用一个GetTemplateChild而伤透脑筋。只用一个TemplateBinding,Generic.xaml中模板的属性值就与MyListBox.cs中的属性的值链接起来,使得自定义控件编写变得方便,效果更加灵动。- 在Silverlight类库项目中创建模板化控件
- 在Silverlight中动态的创建DIV控件
- Silverlight 中得到控件模板中的子控件
- 在VS2005中创建项目模板来提高开发效率
- 在VS2005中创建项目模板来提高开发效率
- 在VS2005中创建项目模板来提高开发效率
- 在VS2008中创建自定义控件(一)创建网站项目和自定义控件项目
- 在VS2008中创建自定义控件(一)创建网站项目和自定义控件项目
- silverlight 实现在Canvas中拖放控件
- silverlight在XAML中设置控件焦点
- Silverlight 自定义控件 模板化控件 (一)属性
- Silverlight 自定义控件 模板化控件 (二)事件
- 在Silverlight项目中使用Nunit框架
- 代码创建Silverlight 中DataGrid的模板列
- 精通Silverlight——12.5.1 创建Silverlight类库项目
- VS2010 中新建项目没有silverlight for windows phone模板
- 如何创建Silverlight 项目
- silverlight中动态创建控件和model对话框
- Ubuntu 安装Postgres数据库,Windows 安装PgAdmin进行远程管理,Django远程连接 手记
- adb devices显示no permissions
- 十六进制颜色码
- 网游加速器的工作原理
- asp加密
- 在Silverlight类库项目中创建模板化控件
- Eclipse+CDT+NDK开发环境搭建(Win+Ubuntu)
- IBM AIX 系统Lpar学习以及资源调整
- 64位下安装Andriod环境
- ROS是什么
- ASP程序加密解密方法全面解析
- linuxconfig文件
- 水晶报表拒绝访问
- java 正斜杠与反斜杠之分