带混合的自定义控件

时间:2008-11-25 15:09:28

标签: silverlight silverlight-2.0

我正在为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项目中的任何内容,但希望它们是可换肤的,并且能够动态地更改皮肤(主题)。

2 个答案:

答案 0 :(得分:8)

您可以使用Blend编辑它。

  1. 在Blend中打开控件项目。
  2. 打开你的generic.xaml
  3. 单击“资源”选项卡
  4. 展开generic.xaml
  5. 双击要编辑的样式资源。
  6. 在对象和时间轴部分,右键单击样式,然后选择“编辑控件 - >编辑模板”
  7. 现在您可以在generic.xaml中编辑模板。听起来你已经通过拥有零件和状态来遵循最佳实践。如果您想要完整的最佳实践,请查看this detailed post on how to deal with design time extensibility。在那里,您将了解如何为Silverlight执行Visual Studio和Blend设计时间。

答案 1 :(得分:0)

我重新创建了整个项目,突然可以从Resources编辑我的generic.xaml。但是无法在Blend中添加新闻,因为我必须去xaml。