代码之家  ›  专栏  ›  技术社区  ›  Christopher Bennage

Expression Blend 2中Silverlight控件的设计时呈现

  •  2
  • Christopher Bennage  · 技术社区  · 16 年前

    我正在处理一些Silverlight控件,我想显式地处理它们在Blend中的显示方式。 具体来说,这些控件具有在运行时初始化的依赖项,因此在设计器中引发异常。但即使没有例外,我还是想让它们以某种方式混合在一起。

    我知道WPF(使用myassembly.VisualStudio.Design.dll)可以实现这一点,但我还没有找到有关使用Silverlight执行此操作的信息。

    我看过上面描述的黑客 here 支票的作用是:

    bool designTime = (System.Windows.Browser.HtmlPage.IsEnabled == false);
    

    不过,我更喜欢更明确的解决方案。

    2 回复  |  直到 13 年前
        1
  •  4
  •   Bryant    16 年前

    有一个非常详细的帖子 how to deal with design time extensibility here . 在这里,您将了解如何为Silverlight执行Visual Studio和混合设计时功能。

    控件供应商和编写自定义控件的人通常会希望他们能够为自己的自定义控件提供更好的体验。 然而,关于这个话题的公众信息非常缺乏。我决定用这篇50多页的短文来纠正这种情况。

    就像我说的,很长。:)

        2
  •  2
  •   Jason Plank IEnumerator    13 年前

    要检查的特定属性是 DesignerProperties :

    using System.ComponentModel.DesignerProperties
    
    if (DesignerProperties.GetIsInDesignMode(this))
    {
    }
    

    哪里 this 是一个 DependencyObject (任何视觉元素)。

    推荐文章