这可能会引起更大的抗议,但在 Silverlight 代码中构建 DataTemplate 似乎是不可能的。我知道使用 XamlReader.Load(string) 的一个选项,使用这种方法遇到了几个问题:
没有验证,一切都是在连接的字符串中完成的。我们都知道这很糟糕
必须包含任何必要的资源,因为这将在其自己的上下文中运行。这也很糟糕,尽管有一个合乎逻辑的解释,而不是一个表演停止者。
任何在 DataTemplate 中包含事件调用的尝试都将失败,并显示 InvalidOperationException: Invalid XAML for control: XamlReader.Load() 不接受事件处理程序。
No.3 对我来说似乎是一个表演者。如果有人对另一种/更好的方法提供一些线索、指示或想法,我将不胜感激。
在 WPF 中有一个 FrameworkElementFactory 可以提供帮助,但是在 Silverlight 中似乎没有补救措施。