2013-02-14 2 views
1

мне нужно клонировать в моем CodeBehind в WinRT в FrameworkELement ...клон Xaml FramworkElement в WinRT

Я нашел решение в интернете, хотя этот способ не работает в WinRT, потому что XamlWriter не доступен в winRT! Is there an easy/built-in way to get an exact copy (clone) of a XAML element?

есть ли другой способ получить другой экземпляр моего FrameworkElement?

ответ

2

Я не думаю, что есть простой способ клонировать элемент точно - я не знаю, например, если есть способ определить произвольные прикрепленные свойства, установленные на одном, или выяснить, установлены ли свойства по стиль, анимация, шаблон, явное значение и т. д.

Существует один способ, который может быть решением для вашего сценария, если у вас есть конкретное дерево элементов, которое вы хотите клонировать, - просто поместите его в DataTemplate в XAML, а затем извлеките это шаблон по имени или ключу ресурса в коде позади и вызвать LoadContent() для создания экземпляра из шаблона.

Если у Вас есть свой оригинальный в вашем XAML уже, что вы не хотите, чтобы положить в ресурсах и генерировать или выкладывают из кода за раз - просто обернуть его в ContentControl/ContentTemplate/DataTemplate.

+0

Я чувствую себя самым большим новичком на земле! : D - my 'FrameworkElement', я хочу получить экземпляр из внешней библиотеки ... так что мне нужно будет создать этот datatemplate в моем коде. Я не нашел решение, как это сделать в WinRT!? ?! это даже возможно? – JuHwon

+0

Я не понимаю, почему вам нужно сделать это в коде. Вы можете поместить его в свой «ResourceDictionary» и получить его оттуда. В противном случае - почему бы просто не создать его в коде? Проблема в том, что вы не знаете, как она определена? –

+0

Я получаю «Коллекция» объектов из внешней библиотеки, содержащей «FrameworkElement». Этот элемент FrameworkElement содержит несколько панелей, включая холст с отдельными элементами XAML. Поэтому мой статус заключается в том, что я получил «экземпляр» из «FrameworkElement», и я не знаю, как его превратить в «DataTemplate'in WinRT». – JuHwon

Смежные вопросы