有没有方便的方法可以深入克隆Silverlight中的'style'实例?

时间:2010-03-26 10:43:59

标签: silverlight coding-style clone

如果使用样式,则无法修改它。所以我需要克隆方法。但很难实施。

我想要做的是实现级联“风格”机制。例如,我将两个样式设置为相同的frameworkelement。后一种风格的相同属性将覆盖前一种,而不同的属性保持不变。 但是如果我直接将frameworkelement的style属性设置为两次,那么第一种样式就会消失。所以我使用样式类的baseon属性来做到这一点。但现在遇到另一个问题,在将样式设置为frameworkelement后无法修改样式。 所以现在我需要克隆方法。

2 个答案:

答案 0 :(得分:2)

凯文,

我编写了一个CloneObject类,这正是您正在寻找的。在这里查看我的代码:

"Generic class for deep clone of Silverlight and C# objects"

吉姆

答案 1 :(得分:0)

谢谢吉姆。我终于抛弃了这个“克隆”的想法,因为它并不容易,而且似乎产生了一些错误的问题。所以我尝试创建一个xaml资源文件,每次我需要创建一个实例,我只需加载xaml并调用XamlReader.load。 这可能带来一些性能问题,但我认为成本是可以接受的。我可以在指定的xaml文件的混合中做样式工作。