Создайте .xaml и .xaml.cs с шаблоном T4 - PullRequest
3 голосов
/ 16 августа 2011

Я новичок в шаблоне T4 и хочу сгенерировать файлы .xaml из T4 и получить некоторую информацию в виде файла .xml.Поэтому мой вопрос: возможно ли генерировать файлы .xaml и всю инфраструктуру MVVM из T4 и можно ли вызывать и генерировать различные файлы из файла шаблона T4?Это лучший способ выбрать шаблон T4 для создания экранов wpf?Если нет, то как мы можем быстро создать универсальные экраны?

1 Ответ

4 голосов
/ 16 августа 2011

Я вижу 5 вопросов:

  1. Можно ли создавать файлы .xaml и всю инфраструктуру MVVM из T4?
  2. Можно ли вызывать разные файлы из файла шаблона T4?
  3. Можно ли создавать различные файлы из файла шаблона T4?
  4. Это лучший способ выбрать шаблон T4 для создания экранов wpf?
  5. Если нет, то какмы можем сделать для генерации общих экранов быстро?

Вот мои ответы:

  1. Да, на самом деле я считаю, что T4 очень хорошо подходит для генерации кода котельной пластины, которыйобычно требуется для MVVM.
  2. Да, если вы под этим вопросом подразумеваете, что хотите иметь библиотеку шаблонов, которую вы можете использовать повторно.Механизм, который вы используете для повторного использования кода в T4, это либо обычные сборки, на которые вы ссылаетесь, либо директива <# @ include #> (очень похоже на include в PHP или ASP)
  3. Да, , но ярекомендую вам не делать этого .Попытка этого значительно усложняет шаблоны, и вы должны спросить себя, в чем состоит преимущество наличия разных файлов для разных сгенерированных классов.В некоторых случаях от вас могут потребоваться отдельные файлы (т. Е. C # и XAML должны находиться в разных файлах), но я бы тогда порекомендовал иметь два файла шаблонов с различными директивами <# @ output #>.
  4. НадеюсьНе понимаете этот вопрос, возможно, вы можете уточнить?
  5. Звучит так, будто LightSwitch может вас заинтересовать.Вы все еще можете использовать T4 для генерации фрагментов модели, необходимых для экранов.

В заключение, если вы ищете хорошие ресурсы о том, как использовать T4, посетите блог Олега Сыча на T4, Отлично .

...