我正在为我的Silverlight 2应用程序构建自定义控件.它在一个SL类项目中,它包含两个文件:
MyControl类,继承自Control,具有很少的DepedencyProperties
themes/generic.xaml,带有可视元素(ControlTemplate),用于VSM和转换的状态
我手工创建了整个xaml,它可以工作,但是想使用Blend2(SP1)进行编辑!当我在Blend中打开generic.xaml,并切换到"资源"选项卡时,我没有任何可编辑的内容.
例如,当我将该可视化模板和状态定义放到App.xaml(我的主SL项目)时,我可以通过Resources和States选项卡访问所有元素和状态,并可视化地编辑它们.
Blend甚至支持从SL2类项目编辑generic.xaml吗?
构建自定义控件的最佳做法是什么?我不希望我的自定义控件取决于主SL2项目中的任何内容,但希望它们是可换肤的,并且能够动态地更改外观(主题).
您可以使用Blend编辑它.
在Blend中打开控件项目.
打开你的generic.xaml
单击"资源"选项卡
展开generic.xaml
双击要编辑的样式资源.
在对象和时间轴部分,右键单击样式,然后选择"编辑控件 - >编辑模板"
现在,您可以在generic.xaml中编辑模板.听起来你已经通过拥有零件和状态来遵循最佳实践.如果您想要完整的最佳实践,请查看有关如何处理设计时间可扩展性的详细文章.在那里,您将了解如何为Silverlight执行Visual Studio和Blend设计时间.