我需要在WinRT中的CodeBehind中克隆一个FrameworkELement
。。。
我确实在互联网上找到了一个解决方案,尽管这个解决方案在WinRT中不起作用,因为XamlWriter
在WinRT不可用!有没有一种简单/内置的方法可以获得XAML元素的精确副本(克隆)?
有其他方法可以获得我的FrameworkElement
的另一个实例吗?
我不认为有一种简单的方法可以准确地克隆一个元素-例如,我不知道是否有方法可以计算出在一个元素上设置的任意附加属性,或者计算出属性是否由样式、动画、模板、显式值等设置。
如果您有一个想要克隆的特定元素树,有一种方法可能是您的场景的解决方案-只需将其放在XAML中的DataTemplate
中,然后通过代码隐藏中的名称或资源键检索该模板,并调用LoadContent()
从该模板生成实例。
如果你的XAML中已经有了原始的,你不想再放在资源中,从代码后面生成或布局——只需将其包装在ContentControl
/ContentTemplate
/DataTemplate
中。