4

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

  • MyControl 类,继承自 Control,几乎没有 DepedencyProperties
  • 主题/generic.xaml,带有可视元素 (ControlTemplate)、VSM 状态和转换

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

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

4

2 回答 2

8

您可以使用 Blend 进行编辑。

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

现在您可以在 generic.xaml 中编辑模板。听起来您已经通过拥有部件和状态来遵循最佳实践。如果您想要完整的最佳实践,请查看这篇关于如何处理设计时可扩展性的详细文章。在那里,您将了解如何为 Silverlight 执行 Visual Studio 和 Blend 设计时的工作。

于 2008-11-25T16:34:35.863 回答
0

我重新创建了整个项目,突然可以从资源中编辑我的 generic.xaml。但是不能添加 Blend 中声明的消息,因为我必须去 xaml。

于 2008-11-27T10:03:24.670 回答