【问题标题】:Custom Controls with Blend使用 Blend 自定义控件
【发布时间】:2008-11-25 15:09:27
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: silverlight silverlight-2.0


    【解决方案1】:

    您可以使用 Blend 进行编辑。

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

    现在您可以在 generic.xaml 中编辑模板。听起来您已经通过拥有部件和状态来遵循最佳实践。如果您想要完整的最佳实践,请查看this detailed post on how to deal with design time extensibility。在那里,您将了解如何为 Silverlight 执行 Visual Studio 和 Blend 设计时的工作。

    【讨论】:

    • 我试过了,但资源选项卡中没有任何内容,就像我在我的问题中写的那样
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多