2

这可能会引起更大的抗议,但在 Silverlight 代码中构建 DataTemplate 似乎是不可能的。我知道使用 XamlReader.Load(string) 的一个选项,使用这种方法遇到了几个问题:

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

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

  3. 任何在 DataTemplate 中包含事件调用的尝试都将失败,并显示 InvalidOperationException: Invalid XAML for control: XamlReader.Load() 不接受事件处理程序。

No.3 对我来说似乎是一个表演者。如果有人对另一种/更好的方法提供一些线索、指示或想法,我将不胜感激。

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

4

1 回答 1

0

也许您不需要在代码中构建数据模板。你真的需要这样做吗?

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

于 2010-09-23T09:05:51.157 回答