2010-09-23 4 views
2

Это может быть скорее возмущение, но создание DataTemplates в коде Silverlight кажется невозможным. Один вариант Я знаю, быть с помощью XamlReader.Load (строка), одна встречается с несколькими вопросами, используя этот подход:Создание Silverlight DataTemplate в коде C#

  1. Нет проверки, все делается в сцепленных строк. Мы все знаем, что это отстой

  2. Любые необходимые ресурсы должны быть включены, поскольку это будет работать в своем собственном контексте. Это также отстой, хотя есть логическое объяснение, а не шоу-стоппер.

  3. Любые попытки включить вызовы событий внутри вашего DataTemplate не будут выполняться с InvalidOperationException: недопустимый XAML для управления: XamlReader.Load() не принимает обработчики событий.

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

В WPF есть FrameworkElementFactory, который может оказать помощь, однако, похоже, в Silverlight нет средств для этого.

ответ

0

Возможно, вам не нужно создавать datatemplates в коде. Вам действительно нужно это делать?

(# 2) Вам не нужно включать ресурс xaml. он может находиться где-то удаленно. все, что вам нужно сделать, это загрузить его удаленно. Но, может быть, я не понимаю, что вы сказали.

+0

Ну, это одно из предположений дела, мне действительно нужно это сделать. Поверь мне, я бы с удовольствием. – danijels