在Silverlight中公开UserControl的XAML

时间:2011-12-12 16:30:52

标签: .net silverlight xaml

在Silverlight 4中,我希望能够从动态的UserControl列表中选择,然后在选择后显示完整的控件。

同时,在UserControl选项列表中,我想展示一些比UserControl图形的标签或缩小版本更有趣的东西。我想显示一个自定义的“缩略图”,它在控件中定义,并通过返回UIElement(或直接XAML字符串)的属性公开。

到目前为止,我试图在UserControl的XAML中绘制缩略图,并通过属性将其公开为UIElement。它对我没用(我得到某种Silverlight渲染错误)。有没有办法将子控件的XAML作为字符串返回?

我想象一些像

这样的解决方案
XamlWriter.Write(UIElement);

能够以编程方式编写控件的XAML以便可以在Blend中设计它是关键。

1 个答案:

答案 0 :(得分:0)

事实证明这个问题类似于here提出的问题。

我发现WPF包含一个带有Save方法的XamlWriter类,它完全符合我的要求。不幸的是,它不包含在Silverlight中。

我最终使用了Silverlight Contrib project中创建的XamlWriter类。它允许我通过引用任何UIElement轻松生成一串XAML。