用c#代码构建Silverlight DataTemplate

时间:2010-09-23 08:58:38

标签: c# silverlight-4.0 datatemplate xamlreader

这可能更令人哗然,但在Silverlight代码中构建DataTemplate似乎是不可能的。我知道使用XamlReader.Load(字符串)的一个选项,使用这种方法遇到了一些问题:

  1. 没有验证,一切都是在连接字符串中完成的。我们都知道这很糟糕

  2. 必须包含任何必要的资源,因为这将在其自己的上下文中运行。这也很糟糕,虽然有一个合乎逻辑的解释,而不是一个显示停止。

  3. 任何在DataTemplate中包含事件调用的尝试都将因InvalidOperationException而失败:控件的XAML无效:XamlReader.Load()不接受事件处理程序。

  4. No.3对我来说似乎是个噱头。如果有人提供了一些线索,指针或想法,可以采用另一种/更好的方式来做到这一点,我将不胜感激。

    在WPF中有一个可以提供帮助的FrameworkElementFactory,但是在Silverlight中似乎没有任何补救措施。

1 个答案:

答案 0 :(得分:0)

也许你不需要在代码中构建datatemplates。你真的需要这样做吗?

(#2)您不需要包含xaml资源。它可以远程驻留在某个地方。你所要做的就是远程加载它。但也许我不明白你说的话。