Я не думаю, что есть простой способ клонировать элемент точно - я не знаю, например, если есть способ определить произвольные прикрепленные свойства, установленные на одном, или выяснить, установлены ли свойства по стиль, анимация, шаблон, явное значение и т. д.
Существует один способ, который может быть решением для вашего сценария, если у вас есть конкретное дерево элементов, которое вы хотите клонировать, - просто поместите его в DataTemplate
в XAML, а затем извлеките это шаблон по имени или ключу ресурса в коде позади и вызвать LoadContent()
для создания экземпляра из шаблона.
Если у Вас есть свой оригинальный в вашем XAML уже, что вы не хотите, чтобы положить в ресурсах и генерировать или выкладывают из кода за раз - просто обернуть его в ContentControl
/ContentTemplate
/DataTemplate
.
Я чувствую себя самым большим новичком на земле! : D - my 'FrameworkElement', я хочу получить экземпляр из внешней библиотеки ... так что мне нужно будет создать этот datatemplate в моем коде. Я не нашел решение, как это сделать в WinRT!? ?! это даже возможно? – JuHwon
Я не понимаю, почему вам нужно сделать это в коде. Вы можете поместить его в свой «ResourceDictionary» и получить его оттуда. В противном случае - почему бы просто не создать его в коде? Проблема в том, что вы не знаете, как она определена? –
Я получаю «Коллекция» объектов из внешней библиотеки, содержащей «FrameworkElement». Этот элемент FrameworkElement содержит несколько панелей, включая холст с отдельными элементами XAML. Поэтому мой статус заключается в том, что я получил «экземпляр» из «FrameworkElement», и я не знаю, как его превратить в «DataTemplate'in WinRT». – JuHwon