使用Blend创建自定义控件

4

我正在为我的Silverlight 2应用程序构建自定义控件。它位于一个SL类项目中,包含两个文件:

  • MyControl类,继承自Control,具有几个DependencyProperties
  • themes/generic.xaml,具有视觉元素(ControlTemplate)、VSM状态和转换

我手动创建了整个xaml,它可以工作,但想要使用Blend2(SP1)进行编辑!当我在Blend中打开generic.xaml并切换到资源选项卡时,我没有任何东西可供编辑。
例如,当我将这个视觉模板和状态定义放在我的主SL项目的App.xaml中时,我可以通过资源和状态选项卡访问所有元素和状态,并对其进行可视化编辑。

Blend是否支持从SL2类项目编辑generic.xaml?
构建自定义控件的最佳实践是什么?我不希望我的自定义控件依赖于主SL2项目中的任何内容,但希望它们可以换肤,并能够动态更改主题。

2个回答

8

您可以使用Blend编辑此内容。

  1. 在Blend中打开控件项目。
  2. 打开generic.xaml文件。
  3. 点击“资源”选项卡。
  4. 展开generic.xaml。
  5. 双击要编辑的样式资源。
  6. 在“对象和时间轴”部分,右键单击样式并选择“编辑控件部件 -> 编辑模板”。

现在您可以在generic.xaml中编辑模板。看起来您已经按照最佳实践进行了部件和状态设置。如果您想要全面的最佳实践,请查看有关如何处理Silverlight设计时可扩展性的详细帖子。在那里,您将了解如何为Silverlight执行Visual Studio和Blend设计时操作。


我尝试过了,但是在资源选项卡中没有任何东西,就像我在问题中所写的那样。 - Hrvoje Hudo

0

我重新创建了整个项目,突然可以从资源中编辑我的generic.xaml。但是无法添加在Blend中新建的状态,必须转到xaml。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接