有什么方便的方法可以让我深入克隆';风格';silverlight中的实例?

有什么方便的方法可以让我深入克隆';风格';silverlight中的实例?,silverlight,coding-style,clone,Silverlight,Coding Style,Clone,如果使用了样式,则不能再次修改该样式。所以我需要一个克隆方法。但它很难实现 我想做的是实现一个级联的“风格”机制。例如,我将两种样式设置为同一个frameworkelement。后一种样式的相同属性将替代前一种样式,而不同的属性保持不变。 但是如果我直接设置frameworkelement的style属性两次,第一个样式将消失。所以我使用style类的baseon属性来实现这一点。但是现在遇到另一个问题,样式设置为frameworkelement后无法修改。 所以现在我需要一个克隆方法。凯文 我

如果使用了样式,则不能再次修改该样式。所以我需要一个克隆方法。但它很难实现

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

凯文

我已经写了一个CloneObject类,这正是您想要的。在这里查看我的代码:


吉姆

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