我正在研究一些Silverlight控件,我想明确处理它们在Blend中出现的方式。 具体来说,这些控件具有在运行时初始化的依赖项,因此会在设计器中抛出异常。但即使没有例外,我也希望它们在Blend中以某种方式出现。

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

我见过黑客描述这里检查这样做:

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

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

有帮助吗?

解决方案

关于如何处理设计时间可扩展性。在那里,您将了解如何为Silverlight执行Visual Studio和Blend设计时间。

  

控制供应商和编写自定义控件的人经常发现自己希望能够为自定义控件提供更好的体验。   但是,<!>#8217;这个主题缺乏公开信息。而我<!>#8217;我决定用这篇短短50多页的文章纠正这种情况。

就像我说的那样,很长。 :)

其他提示

要检查的特定属性是DesignerProperties

using System.ComponentModel.DesignerProperties

if (DesignerProperties.GetIsInDesignMode(this))
{
}

其中thisDependencyObject(任何视觉元素)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top